Date: (Mon) Jul 27, 2015

Introduction:

Data: Source: Training: https://inclass.kaggle.com/c/15-071x-the-analytics-edge-summer-2015/download/eBayiPadTrain.csv
New: https://inclass.kaggle.com/c/15-071x-the-analytics-edge-summer-2015/download/eBayiPadTest.csv
Time period:

Synopsis:

Based on analysis utilizing <> techniques, :

Regression results: First run: : OOB_RMSE=<0.4f>; new_RMSE=<0.4f>; =; =

Classification results: template: prdline.my == “Unknown” -> 296 Low.cor.X.glm: Leaderboard: 0.83458 newobs_tbl=[N=471, Y=327]; submit_filename=template_Final_glm_submit.csv OOB_conf_mtrx=[YN=125, NY=76]=201; max.Accuracy.OOB=0.7710; opt.prob.threshold.OOB=0.6 startprice=100.00; biddable=95.42; productline=49.22; D.T.like=29.75; D.T.use=26.32; D.T.box=21.53;

prdline: -> Worse than template prdline.my == “Unknown” -> 285 All.X.no.rnorm.rf: Leaderboard: 0.82649 newobs_tbl=[N=485, Y=313]; submit_filename=prdline_Final_rf_submit.csv OOB_conf_mtrx=[YN=119, NY=80]=199; max.Accuracy.OOB=0.8339; opt.prob.threshold.OOB=0.5 startprice=100.00; biddable=84.25; D.sum.TfIdf=7.28; D.T.use=4.26; D.T.veri=2.78; D.T.scratch=1.99; D.T.box=; D.T.like=; Low.cor.X.glm: Leaderboard: 0.81234 newobs_tbl=[N=471, Y=327]; submit_filename=prdline_Low_cor_X_glm_submit.csv OOB_conf_mtrx=[YN=125, NY=74]=199; max.Accuracy.OOB=0.8205; opt.prob.threshold.OOB=0.6 startprice=100.00; biddable=96.07; prdline.my=51.37; D.T.like=29.39; D.T.use=25.43; D.T.box=22.27; D.T.veri=; D.T.scratch=;

oobssmpl: -> Low.cor.X.glm: Leaderboard: 0.83402 newobs_tbl=[N=440, Y=358]; submit_filename=oobsmpl_Final_glm_submit OOB_conf_mtrx=[YN=114, NY=84]=198; max.Accuracy.OOB=0.7780; opt.prob.threshold.OOB=0.5 startprice=100.00; biddable=93.87; prdline.my=60.48; D.sum.TfIdf=; D.T.condition=8.69; D.T.screen=7.96; D.T.use=7.50; D.T.veri=; D.T.scratch=;

category: -> Low.cor.X.glm: Leaderboard: 0.82381 newobs_tbl=[N=470, Y=328]; submit_filename=category_Final_glm_submit OOB_conf_mtrx=[YN=119, NY=57]=176; max.Accuracy.OOB=0.8011; opt.prob.threshold.OOB=0.6 startprice=100.00; biddable=79.19; prdline.my=55.22; D.sum.TfIdf=; D.T.ipad=27.05; D.T.like=21.44; D.T.box=20.67; D.T.condition=; D.T.screen=;

dataclns: -> All.X.no.rnorm.rf: Leaderboard: 0.82211 newobs_tbl=[N=485, Y=313]; submit_filename=dataclns_Final_rf_submit OOB_conf_mtrx=[YN=104, NY=75]=179; max.Accuracy.OOB=0.7977; opt.prob.threshold.OOB=0.5 startprice.log=100.00; biddable=65.85; prdline.my=7.74; D.sum.TfIdf=; D.T.use=2.01; D.T.condition=1.87; D.T.veri=1.62; D.T.ipad=; D.T.like=; Low.cor.X.glm: Leaderboard: 0.79264 newobs_tbl=[N=460, Y=338]; submit_filename=dataclns_Low_cor_X_glm_submit OOB_conf_mtrx=[YN=113, NY=74]=187; max.Accuracy.OOB=0.7977; opt.prob.threshold.OOB=0.5 -> different from prev run of 0.6 biddable=100.00; startprice.log=91.85; prdline.my=38.34; D.sum.TfIdf=; D.T.ipad=29.92; D.T.box=27.76; D.T.work=25.79; D.T.use=; D.T.condition=;

txtterms: -> top_n = c(10) Low.cor.X.glm: Leaderboard: 0.81448 newobs_tbl=[N=442, Y=356]; submit_filename=txtterms_Final_glm_submit OOB_conf_mtrx=[YN=113, NY=69]=182; max.Accuracy.OOB=0.7943; opt.prob.threshold.OOB=0.5 biddable=100.00; startprice.log=90.11; prdline.my=37.65; D.sum.TfIdf=; D.T.ipad=28.67; D.T.work=24.90; D.T.great=21.44; # [1] “D.T.condit” “D.T.condition” “D.T.good” “D.T.ipad” “D.T.new”
# [6] “D.T.scratch” “D.T.screen” “D.T.this” “D.T.use” “D.T.work”

All.X.glm: Leaderboard: 0.81016
    newobs_tbl=[N=445, Y=353]; submit_filename=txtterms_Final_glm_submit
    OOB_conf_mtrx=[YN=108, NY=72]=180; max.Accuracy.OOB=0.7966;
        opt.prob.threshold.OOB=0.5
        biddable=100.00; startprice.log=88.24; prdline.my=33.81; D.sum.TfIdf=; 
        D.T.scratch=25.51; D.T.use=18.97; D.T.good=16.37; 

[1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.great” “D.T.excel” “D.T.work” “D.T.ipad”

Max.cor.Y.rpart: Leaderboard: 0.79258
    newobs_tbl=[N=439, Y=359]; submit_filename=txtterms_Final_rpart_submit
    OOB_conf_mtrx=[YN=105, NY=76]=181; max.Accuracy.OOB=0.7954802;
        opt.prob.threshold.OOB=0.5
        startprice.log=100; biddable=; prdline.my=; D.sum.TfIdf=; 
        D.T.scratch=; D.T.use=; D.T.good=; 

[1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.ipad” “D.T.great” “D.T.work” “D.T.excel”

All.X.no.rnorm.rf: Leaderboard: 0.80929
    newobs_tbl=[N=545, Y=253]; submit_filename=txtterms_Final_rf_submit
    OOB_conf_mtrx=[YN=108, NY=61]=169; max.Accuracy.OOB=0.8090395
        opt.prob.threshold.OOB=0.5
        startprice.log=100.00; biddable=78.82; idseq.my=63.43; prdline.my=45.57;
        D.T.use=2.76; D.T.condit=2.35; D.T.scratch=2.00; D.T.good=; 

[1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.ipad” “D.T.great” “D.T.work” “D.T.excel”

txtclstr: All.X.no.rnorm.rf: Leaderboard: 0.79363 -> 0.79573 newobs_tbl=[N=537, Y=261]; submit_filename=txtclstr_Final_rf_submit OOB_conf_mtrx=[YN=104, NY=61]=165; max.Accuracy.OOB=0.8135593 opt.prob.threshold.OOB=0.5 startprice.log=100.00; biddable=79.99; idseq.my=64.94; prdline.my=4.14; prdline.my.clusterid=1.15; [1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.ipad” “D.T.great” “D.T.work” “D.T.excel”

dupobs: All.X.no.rnorm.rf: Leaderboard: 0.79295 newobs_tbl=[N=541, Y=257]; submit_filename=dupobs_Final_rf_submit OOB_conf_mtrx=[YN=114, NY=65]=179; max.Accuracy.OOB=0.7977401 opt.prob.threshold.OOB=0.5 startprice.log=100.00; biddable=94.49; idseq.my=67.40; prdline.my=4.48; prdline.my.clusterid=1.99; [1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.ipad” “D.T.great” “D.T.work” “D.T.excel”

All.X.no.rnorm.rf: Leaderboard: 0.79652
    newobs_tbl=[N=523, Y=275]; submit_filename=dupobs_Final_rf_submit
    OOB_conf_mtrx=[YN=114, NY=65]=179; max.Accuracy.OOB=0.7977401
        opt.prob.threshold.OOB=0.5
        startprice.log=100.00; biddable=94.24; idseq.my=67.92; 
            prdline.my=4.33; prdline.my.clusterid=2.17; 

[1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.ipad” “D.T.great” “D.T.work” “D.T.excel”

csmmdl: All.X.no.rnorm.rf: Leaderboard: 0.79396 newobs_tbl=[N=525, Y=273]; submit_filename=csmmdl_Final_rf_submit OOB_conf_mtrx=[YN=111, NY=66]=177; max.Accuracy.OOB=0.8000000 opt.prob.threshold.OOB=0.5 startprice.log=100.00; biddable=90.30; idseq.my=67.06; prdline.my=4.40; cellular.fctr=3.57; prdline.my.clusterid=2.08;

All.Interact.X.no.rnorm.rf: Leaderboard: 0.77867 newobs_tbl=[N=564, Y=234]; submit_filename=csmmdl_Final_rf_submit OOB_conf_mtrx=[YN=120, NY=53]=173; max.Accuracy.OOB=0.8045198 opt.prob.threshold.OOB=0.5 biddable=100.00; startprice.log=93.99; idseq.my=57.30; prdline.my=9.09; cellular.fctr=3.30; prdline.my.clusterid=2.35; [1] “D.T.condit” “D.T.use” “D.T.scratch” “D.T.new” “D.T.good” “D.T.screen” [7] “D.T.ipad” “D.T.great” “D.T.work” “D.T.excel”

Prediction Accuracy Enhancement Options:

  • import.data chunk:
    • which obs should be in fit vs. OOB (currently dirty.0 vs .1 is split 50%)
  • inspect.data chunk:
    • For date variables
      • Appropriate factors ?
      • Different / More last* features ?
  • scrub.data chunk:
  • transform.data chunk:
    • derive features from multiple features
  • manage.missing.data chunk:
    • Not fill missing vars
    • Fill missing numerics with a different algorithm
    • Fill missing chars with data based on clusters
  • extract.features chunk:
    • Text variables: move to date extraction chunk ???
      • Mine acronyms
      • Mine places
  • Review set_global_options chunk after features are finalized

[](.png)

Potential next steps include:

  • Organization:
    • Categorize by chunk
    • Priority criteria:
      1. Ease of change
      2. Impacts report
      3. Cleans innards
      4. Bug report
  • all chunks:
    • at chunk-end rm(!glb_)
  • manage.missing.data chunk:
    • cleaner way to manage re-splitting of training vs. new entity
  • extract.features chunk:
    • Add n-grams for glb_txt_vars
      • “RTextTools”, “tau”, “RWeka”, and “textcat” packages
    • Convert user-specified mutate code to config specs
  • fit.models chunk:
    • Prediction accuracy scatter graph:
    • Add tiles (raw vs. PCA)
    • Use shiny for drop-down of “important” features
    • Use plot.ly for interactive plots ?

    • Change .fit suffix of model metrics to .mdl if it’s data independent (e.g. AIC, Adj.R.Squared - is it truly data independent ?, etc.)
    • move model_type parameter to myfit_mdl before indep_vars_vctr (keep all model_* together)
    • create a custom model for rpart that has minbucket as a tuning parameter
    • varImp for randomForest crashes in caret version:6.0.41 -> submit bug report

  • Probability handling for multinomials vs. desired binomial outcome
  • ROCR currently supports only evaluation of binary classification tasks (version 1.0.7)
  • extensions toward multiclass classification are scheduled for the next release

  • Skip trControl.method=“cv” for dummy classifier ?
  • Add custom model to caret for a dummy (baseline) classifier (binomial & multinomial) that generates proba/outcomes which mimics the freq distribution of glb_rsp_var values; Right now glb_dmy_glm_mdl always generates most frequent outcome in training data
  • glm_dmy_mdl should use the same method as glm_sel_mdl until custom dummy classifer is implemented

  • fit.all.training chunk:
    • myplot_prediction_classification: displays ‘x’ instead of ‘+’ when there are no prediction errors
  • Compare glb_sel_mdl vs. glb_fin_mdl:
    • varImp
    • Prediction differences (shd be minimal ?)
  • Move glb_analytics_diag_plots to mydsutils.R: (+) Easier to debug (-) Too many glb vars used
  • Add print(ggplot.petrinet(glb_analytics_pn) + coord_flip()) at the end of every major chunk
  • Parameterize glb_analytics_pn
  • Move glb_impute_missing_data to mydsutils.R: (-) Too many glb vars used; glb_<>_df reassigned
  • Replicate myfit_mdl_classification features in myfit_mdl_regression
  • Do non-glm methods handle interaction terms ?
  • f-score computation for classifiers should be summation across outcomes (not just the desired one ?)
  • Add accuracy computation to glb_dmy_mdl in predict.data.new chunk
  • Why does splitting fit.data.training.all chunk into separate chunks add an overhead of ~30 secs ? It’s not rbind b/c other chunks have lower elapsed time. Is it the number of plots ?
  • Incorporate code chunks in print_sessionInfo
  • Test against
    • projects in github.com/bdanalytics
    • lectures in jhu-datascience track

Analysis:

rm(list=ls())
set.seed(12345)
options(stringsAsFactors=FALSE)
source("~/Dropbox/datascience/R/myscript.R")
source("~/Dropbox/datascience/R/mydsutils.R")
## Loading required package: caret
## Loading required package: lattice
## Loading required package: ggplot2
source("~/Dropbox/datascience/R/myplot.R")
source("~/Dropbox/datascience/R/mypetrinet.R")
source("~/Dropbox/datascience/R/myplclust.R")
# Gather all package requirements here
suppressPackageStartupMessages(require(doMC))
registerDoMC(4) # max(length(glb_txt_vars), glb_n_cv_folds) + 1
#packageVersion("tm")
#require(sos); findFn("cosine", maxPages=2, sortby="MaxScore")

# Analysis control global variables
glb_trnng_url <- "https://inclass.kaggle.com/c/15-071x-the-analytics-edge-summer-2015/download/eBayiPadTrain.csv"
glb_newdt_url <- "https://inclass.kaggle.com/c/15-071x-the-analytics-edge-summer-2015/download/eBayiPadTest.csv"
glb_out_pfx <- "csmmdl_sp_"
glb_save_envir <- FALSE # or TRUE

glb_is_separate_newobs_dataset <- TRUE    # or TRUE
    glb_split_entity_newobs_datasets <- TRUE   # or FALSE
    glb_split_newdata_method <- "sample"          # "condition" or "sample" or "copy"
    glb_split_newdata_condition <- NULL # or "is.na(<var>)"; "<var> <condition_operator> <value>"
    glb_split_newdata_size_ratio <- 0.3               # > 0 & < 1
    glb_split_sample.seed <- 123               # or any integer

glb_max_fitobs <- NULL # or any integer                         
glb_is_regression <- TRUE; glb_is_classification <- !glb_is_regression; 
    glb_is_binomial <- TRUE #or FALSE

glb_rsp_var_raw <- "startprice"

# for classification, the response variable has to be a factor
glb_rsp_var <- glb_rsp_var_raw #"sold.fctr"

# if the response factor is based on numbers/logicals e.g (0/1 OR TRUE/FALSE vs. "A"/"B"), 
#   or contains spaces (e.g. "Not in Labor Force")
#   caret predict(..., type="prob") crashes
glb_map_rsp_raw_to_var <- NULL #function(raw) {
#     return(log(raw))
#     ret_vals <- rep_len(NA, length(raw)); ret_vals[!is.na(raw)] <- ifelse(raw[!is.na(raw)] == 1, "Y", "N"); return(relevel(as.factor(ret_vals), ref="N"))
#     #as.factor(paste0("B", raw))
#     #as.factor(gsub(" ", "\\.", raw))    
# }
# glb_map_rsp_raw_to_var(c(1, 1, 0, 0, NA))

glb_map_rsp_var_to_raw <- NULL #function(var) {
#     return(exp(var))
#     as.numeric(var) - 1
#     #as.numeric(var)
#     #gsub("\\.", " ", levels(var)[as.numeric(var)])
#     c("<=50K", " >50K")[as.numeric(var)]
#     #c(FALSE, TRUE)[as.numeric(var)]
# }
# glb_map_rsp_var_to_raw(glb_map_rsp_raw_to_var(c(1, 1, 0, 0, NA)))

if ((glb_rsp_var != glb_rsp_var_raw) & is.null(glb_map_rsp_raw_to_var))
    stop("glb_map_rsp_raw_to_var function expected")
glb_rsp_var_out <- paste0(glb_rsp_var, ".predict.") # model_id is appended later

# List info gathered for various columns
# <col_name>:   <description>; <notes>
# description = The text description of the product provided by the seller.
# biddable = Whether this is an auction (biddable=1) or a sale with a fixed price (biddable=0).
# startprice = The start price (in US Dollars) for the auction (if biddable=1) or the sale price (if biddable=0).
# condition = The condition of the product (new, used, etc.)
# cellular = Whether the iPad has cellular connectivity (cellular=1) or not (cellular=0).
# carrier = The cellular carrier for which the iPad is equipped (if cellular=1); listed as "None" if cellular=0.
# color = The color of the iPad.
# storage = The iPad's storage capacity (in gigabytes).
# productline = The name of the product being sold.

# If multiple vars are parts of id, consider concatenating them to create one id var
# If glb_id_var == NULL, ".rownames <- row.names()" is the default
# Derive a numeric feature from id var
glb_id_var <- c("UniqueID")
glb_category_var <- c("prdline.my")
glb_drop_vars <- c(NULL) # or c("<col_name>")

glb_map_vars <- NULL # or c("<var1>", "<var2>")
glb_map_urls <- list();
# glb_map_urls[["<var1>"]] <- "<var1.url>"

glb_assign_pairs_lst <- NULL; 
# glb_assign_pairs_lst[["<var1>"]] <- list(from=c(NA),
#                                            to=c("NA.my"))
glb_assign_vars <- names(glb_assign_pairs_lst)

# Derived features
glb_derive_lst <- NULL;

# Add logs of numerics that are not distributed normally ->  do automatically ???

glb_derive_lst[["idseq.my"]] <- list(
    mapfn=function(UniqueID) { return(UniqueID - 10000) }    
    , args=c("UniqueID"))

glb_derive_lst[["prdline.my"]] <- list(
    mapfn=function(productline) { return(productline) }    
    , args=c("productline"))

glb_derive_lst[["startprice.log"]] <- list(
    mapfn=function(startprice) { return(log(startprice)) }    
    , args=c("startprice"))
# glb_derive_lst[["startprice.log.zval"]] <- list(

glb_derive_lst[["descr.my"]] <- list(
    mapfn=function(description) { mod_raw <- description;
        # Modifications for this exercise only
        # Add dictionary to stemDocument e.g. stickers stemmed to sticker ???
        mod_raw <- gsub("\\.\\.", "\\. ", mod_raw);    
        mod_raw <- gsub("(\\w)(\\*|,|-|/)(\\w)", "\\1\\2 \\3", mod_raw);
        
        mod_raw <- gsub("8\\.25", "825", mod_raw, ignore.case=TRUE);  
        mod_raw <- gsub(" 10\\.SCREEN ", " 10\\. SCREEN ", mod_raw, ignore.case=TRUE); 
        mod_raw <- gsub(" actuuly ", " actual ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" Apple care ", " Applecare ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" ans ", " and ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" bacK!wiped ", " bacK ! wiped ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" backplate", " back plate", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" bend ", " bent ", mod_raw, ignore.case=TRUE);         
        mod_raw <- gsub("Best Buy", "BestBuy", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" black\\.Device ", " black \\. Device ", mod_raw,
                        ignore.case=TRUE);        
        mod_raw <- gsub(" blocks", " blocked", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" carefully ", " careful ", mod_raw, ignore.case=TRUE);        
        
        mod_raw <- gsub(" conditon|condtion|conditions", " condition", mod_raw,
                        ignore.case=TRUE);
        mod_raw <- gsub("(CONDITION|ONLY)\\.(\\w)", "\\1\\. \\2", mod_raw,
                        ignore.case=TRUE);
        mod_raw <- gsub("(condition)(Has)", "\\1\\. \\2", mod_raw);
        
        mod_raw <- gsub(" consist ", " consistent ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" cracksNo ", " cracks No ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" DEFAULTING ", " DEFAULT ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" definitely ", " definite ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" described", " describe", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" desciption", " description", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" devices", " device", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" Digi\\.", " Digitizer\\.", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" display\\.New ", " display\\. New ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" displays", " display", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" drop ", " dropped ", mod_raw, ignore.case=TRUE);         
        mod_raw <- gsub(" effect ", " affect ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" Excellant ", " Excellent ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" excellently", " excellent", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" EUC ", " excellent used condition", mod_raw, ignore.case=TRUE);  
        mod_raw <- gsub(" feels ", " feel ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" fineiCloud ", " fine iCloud ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub("^Gentle ", "Gently ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" GREAT\\.SCreen ", " GREAT\\. SCreen ", mod_raw,
                        ignore.case=TRUE);        
        mod_raw <- gsub(" Framing ", " Frame ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub("iCL0UD", "iCL0UD", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub("^iPad Black 3rd generation ", "iPad 3 Black ", mod_raw,
                        ignore.case=TRUE);  
        mod_raw <- gsub(" install\\. ", " installed\\. ", mod_raw, ignore.case=TRUE);   
        mod_raw <- gsub("inivisible", "invisible", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" manuals ", " manual ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" book ", " manual ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" mars ", " marks ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" minimum", " minimal", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" MINT\\.wiped ", " MINT\\. wiped ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" NEW\\!(SCREEN|ONE) ", " NEW\\! \\1 ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" new looking$", " looks new", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" newer ", " new ", mod_raw, ignore.case=TRUE);                
        mod_raw <- gsub(" opening", " opened", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" operated", " operational", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" perfectlycord ", " perfectly cord ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" performance", " performs", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" personalized ", " personal ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" products ", " product ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" Keeped ", " Kept ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" knicks ", " nicks ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub("^READiPad ", "READ iPad ", mod_raw, ignore.case=TRUE);   
        mod_raw <- gsub(" REFURB\\.", "  REFURBISHED\\.", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" reponding", " respond", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" rotation ", " rotate ", mod_raw, ignore.case=TRUE);   
        mod_raw <- gsub(" Sales ", " Sale ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" scratchs ", " scratches ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" SCREEB ", " SCREEN ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" shipped| Shipment", " ship", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub("shrink wrap", "shrinkwrap", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" sides ", " side ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" skinned,", " skin,", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" spec ", " speck ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub("^somescratches ", "some scratches ", mod_raw, ignore.case=TRUE);  
        mod_raw <- gsub(" Sticker ", " Stickers ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub("SWAPPA\\.COM", "SWAPPACOM", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" T- Mobile", "  TMobile", mod_raw, ignore.case=TRUE);  
        mod_raw <- gsub(" touchscreen ", " touch screen ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" use\\.Scratches ", " use\\. Scratches ", mod_raw,
                        ignore.case=TRUE);  
        mod_raw <- gsub(" verify ", " verified ", mod_raw, ignore.case=TRUE);        
        mod_raw <- gsub(" wear\\.Device ", " wear\\. Device ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" whats ", " what's ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" WiFi\\+4G ", " WiFi \\+ 4G ", mod_raw, ignore.case=TRUE);
        mod_raw <- gsub(" Zaag Invisible Shield", " Zaag InvisibleShield", mod_raw,
                        ignore.case=TRUE);
                                    return(mod_raw) }
    , args=c("description"))

#     mapfn=function(startprice) { return(scale(log(startprice))) }    
#     , args=c("startprice"))
#     mapfn=function(Rasmussen) { return(ifelse(sign(Rasmussen) >= 0, 1, 0)) }
#     mapfn=function(PropR) { return(as.factor(ifelse(PropR >= 0.5, "Y", "N"))) }
#     mapfn=function(purpose) { return(relevel(as.factor(purpose), ref="all_other")) }
#     mapfn=function(Week) { return(substr(Week, 1, 10)) }
#     mapfn=function(raw) { tfr_raw <- as.character(cut(raw, 5)); 
#                           tfr_raw[is.na(tfr_raw)] <- "NA.my";
#                           return(as.factor(tfr_raw)) }
#     , args=c("raw"))
#     mapfn=function(PTS, oppPTS) { return(PTS - oppPTS) }
#     , args=c("PTS", "oppPTS"))

# # If glb_allobs_df is not sorted in the desired manner
#     mapfn=function(Week) { return(coredata(lag(zoo(orderBy(~Week, glb_allobs_df)$ILI), -2, na.pad=TRUE))) }
#     mapfn=function(ILI) { return(coredata(lag(zoo(ILI), -2, na.pad=TRUE))) }
#     mapfn=function(ILI.2.lag) { return(log(ILI.2.lag)) }

# glb_derive_lst[["<txt_var>.niso8859.log"]] <- list(
#     mapfn=function(<txt_var>) { match_lst <- gregexpr("&#[[:digit:]]{3};", <txt_var>)
#                         match_num_vctr <- unlist(lapply(match_lst, 
#                                                         function(elem) length(elem)))
#                         return(log(1 + match_num_vctr)) }
#     , args=c("<txt_var>"))

#     mapfn=function(raw) { mod_raw <- raw;
#         mod_raw <- gsub("&#[[:digit:]]{3};", " ", mod_raw);
#         # Modifications for this exercise only
#         mod_raw <- gsub("\\bgoodIn ", "good In", mod_raw);
#                           return(mod_raw)

#         # Create user-specified pattern vectors 
# #sum(mycount_pattern_occ("Metropolitan Diary:", glb_allobs_df$Abstract) > 0)
#         if (txt_var %in% c("Snippet", "Abstract")) {
#             txt_X_df[, paste0(txt_var_pfx, ".P.metropolitan.diary.colon")] <-
#                 as.integer(0 + mycount_pattern_occ("Metropolitan Diary:", 
#                                                    glb_allobs_df[, txt_var]))
#summary(glb_allobs_df[ ,grep("P.on.this.day", names(glb_allobs_df), value=TRUE)])

# glb_derive_lst[["<var1>"]] <- glb_derive_lst[["<var2>"]]

glb_derive_vars <- names(glb_derive_lst)
# tst <- "descr.my"; args_lst <- NULL; for (arg in glb_derive_lst[[tst]]$args) args_lst[[arg]] <- glb_allobs_df[, arg]; print(head(args_lst[[arg]])); print(head(drv_vals <- do.call(glb_derive_lst[[tst]]$mapfn, args_lst))); 
# print(which_ix <- which(args_lst[[arg]] == 0.75)); print(drv_vals[which_ix]); 

glb_date_vars <- NULL # or c("<date_var>")
glb_date_fmts <- list(); #glb_date_fmts[["<date_var>"]] <- "%m/%e/%y"
glb_date_tzs <- list();  #glb_date_tzs[["<date_var>"]] <- "America/New_York"
#grep("America/New", OlsonNames(), value=TRUE)

glb_txt_vars <- c("descr.my")   
Sys.setlocale("LC_ALL", "C") # For english
## [1] "C/C/C/C/C/en_US.UTF-8"
glb_txt_munge_filenames_pfx <- "ebay_mytxt_"

glb_append_stop_words <- list()
# Remember to use unstemmed words
#orderBy(~ -cor.y.abs, subset(glb_feats_df, grepl("[HSA]\\.T\\.", id) & !is.na(cor.high.X)))
glb_append_stop_words[["descr.my"]] <- c(NULL
                                        # freq = 1 
                                        ,"511","825","975"
                                        ,"2nd"
                                        ,"a1314","a1430","a1432"
    ,"abused","across","adaptor","add","antenna","anti","anyone", "area","arizona","att"
                                    ,"beginning","bidder","bonus","boot","bound","bruises"
    ,"changed","changing","chrome"
        ,"confidence","considerable","consumer","contents","control","cream"
    ,"date","daughter","decent","defender","defense","degree","depicted"
        ,"disclaimer","distressed","divider"
        ,"dlxnqat9g5wt","done","dont","durable","dust","duty"
                                ,"either","erased","ereader","essentially","every","exact"
                                        ,"faint","film","final","flickers","folding"
                                        ,"generic","genuine","glitter","goes"
                            ,"half","handstand","hdmi","high","higher","hole","hospital"
                                        ,"impact","instead","interior"
                                        ,"jack","july"
                                        ,"keeps","kind","known"
    ,"last","late","let","letters","level","lifting","limited","line","lining","liquid"
        ,"local","long","longer","looping","loss"
                    ,"mb292ll","mc707ll","mc916ll","mc991ll","md789ll","mf432ll","mgye2ll"
                    ,"middle", "mind","mixed"
                                        ,"neither","none","november"
                                        ,"occasional","online","outside"
    ,"paperwork","period","pet","played","plug","poor","portion","pouch","price","provided"
    ,"ranging"
        ,"recently","red","reflected","repeat","required","reserve","residue","result"
        ,"roughly","running"
    ,"said","seconds","seem","semi","send","serious","setup"
        ,"shell","short","size","slice","smoke","smooth"
        ,"softer","software","somewhat","soon"
        ,"sparingly","sparkiling","special","speed"
        ,"stains","standup","status","stopped","strictly","subtle","sustained","swappacom"
    ,"technical","tempered","texture","thank","therefore","think","though"
        ,"toddler","totally","touchy","tried","typical"
                                        ,"university","unknown","untouched","upgrade"
                                        ,"valid","vary","version"
                                        ,"want","website","winning","wrapped"
                                        ,"zaag","zero", "zombie"
                                            )
#subset(glb_allobs_df, S.T.newyorktim > 0)[, c("UniqueID", "Snippet", "S.T.newyorktim")]
#glb_txt_lst[["Snippet"]][which(glb_allobs_df$UniqueID %in% c(8394, 8317, 8339, 8350, 8307))]

glb_important_terms <- list()
# Remember to use stemmed terms 

glb_filter_txt_terms <- "top" # or "sparse"
glb_top_n <- c(10)
names(glb_top_n) <- glb_txt_vars

glb_sprs_thresholds <- c(0.950) # Generates 10 terms

# Properties:
#   numrows(glb_feats_df) << numrows(glb_fitobs_df)
#   Select terms that appear in at least 0.2 * O(FP/FN(glb_OOBobs_df))
#       numrows(glb_OOBobs_df) = 1.1 * numrows(glb_newobs_df)
names(glb_sprs_thresholds) <- glb_txt_vars

# User-specified exclusions  
glb_exclude_vars_as_features <- c("productline", "description", "startprice"
                                  , "startprice.log", "sold"
                                  ) 
if (glb_rsp_var_raw != glb_rsp_var)
    glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, 
                                            glb_rsp_var_raw)

# List feats that shd be excluded due to known causation by prediction variable
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, 
                                      c(NULL)) # or c("<col_name>")

glb_impute_na_data <- FALSE # or TRUE
glb_mice_complete.seed <- 144 # or any integer

glb_cluster <- TRUE

glb_interaction_only_features <- NULL # or ???

glb_models_lst <- list(); glb_models_df <- data.frame()
# Regression
if (glb_is_regression)
    glb_models_method_vctr <- c("lm", "glm", "bayesglm", "glmnet", "rpart", "rf") else
# Classification
    if (glb_is_binomial)
        glb_models_method_vctr <- c("glm", "bayesglm", "glmnet", "rpart", "rf") else  
        glb_models_method_vctr <- c("rpart", "rf")

# Baseline prediction model feature(s)
glb_Baseline_mdl_var <- NULL # or c("<col_name>")

glb_model_metric_terms <- NULL # or matrix(c(
#                               0,1,2,3,4,
#                               2,0,1,2,3,
#                               4,2,0,1,2,
#                               6,4,2,0,1,
#                               8,6,4,2,0
#                           ), byrow=TRUE, nrow=5)
glb_model_metric <- NULL # or "<metric_name>"
glb_model_metric_maximize <- NULL # or FALSE (TRUE is not the default for both classification & regression) 
glb_model_metric_smmry <- NULL # or function(data, lev=NULL, model=NULL) {
#     confusion_mtrx <- t(as.matrix(confusionMatrix(data$pred, data$obs)))
#     #print(confusion_mtrx)
#     #print(confusion_mtrx * glb_model_metric_terms)
#     metric <- sum(confusion_mtrx * glb_model_metric_terms) / nrow(data)
#     names(metric) <- glb_model_metric
#     return(metric)
# }

glb_tune_models_df <- 
   rbind(
    #data.frame(parameter="cp", min=0.00005, max=0.00005, by=0.000005),
                            #seq(from=0.01,  to=0.01, by=0.01)
    #data.frame(parameter="mtry",  min=080, max=100, by=10),
    #data.frame(parameter="mtry",  min=08, max=10, by=1),    
    data.frame(parameter="dummy", min=2, max=4, by=1)
        ) 
# or NULL
glb_n_cv_folds <- 3 # or NULL

glb_clf_proba_threshold <- NULL # 0.5

# Model selection criteria
if (glb_is_regression)
    glb_model_evl_criteria <- c("min.RMSE.OOB", "max.R.sq.OOB", "max.Adj.R.sq.fit")
if (glb_is_classification) {
    if (glb_is_binomial)
        glb_model_evl_criteria <- 
            c("max.Accuracy.OOB", "max.auc.OOB", "max.Kappa.OOB", "min.aic.fit") else
        glb_model_evl_criteria <- c("max.Accuracy.OOB", "max.Kappa.OOB")
}

glb_sel_mdl_id <- NULL #"Low.cor.X.glm"
glb_fin_mdl_id <- glb_sel_mdl_id # or "Final"

# Depict process
glb_analytics_pn <- petrinet(name="glb_analytics_pn",
                        trans_df=data.frame(id=1:6,
    name=c("data.training.all","data.new",
           "model.selected","model.final",
           "data.training.all.prediction","data.new.prediction"),
    x=c(   -5,-5,-15,-25,-25,-35),
    y=c(   -5, 5,  0,  0, -5,  5)
                        ),
                        places_df=data.frame(id=1:4,
    name=c("bgn","fit.data.training.all","predict.data.new","end"),
    x=c(   -0,   -20,                    -30,               -40),
    y=c(    0,     0,                      0,                 0),
    M0=c(   3,     0,                      0,                 0)
                        ),
                        arcs_df=data.frame(
    begin=c("bgn","bgn","bgn",        
            "data.training.all","model.selected","fit.data.training.all",
            "fit.data.training.all","model.final",    
            "data.new","predict.data.new",
            "data.training.all.prediction","data.new.prediction"),
    end  =c("data.training.all","data.new","model.selected",
            "fit.data.training.all","fit.data.training.all","model.final",
            "data.training.all.prediction","predict.data.new",
            "predict.data.new","data.new.prediction",
            "end","end")
                        ))
#print(ggplot.petrinet(glb_analytics_pn))
print(ggplot.petrinet(glb_analytics_pn) + coord_flip())
## Loading required package: grid

glb_analytics_avl_objs <- NULL

glb_chunks_df <- myadd_chunk(NULL, "import.data")
##         label step_major step_minor   bgn end elapsed
## 1 import.data          1          0 8.739  NA      NA

Step 1.0: import data

chunk option: eval=

#glb_chunks_df <- myadd_chunk(NULL, "import.data")

glb_trnobs_df <- myimport_data(url=glb_trnng_url, comment="glb_trnobs_df", 
                                force_header=TRUE)
## [1] "Reading file ./data/eBayiPadTrain.csv..."
## [1] "dimensions of data in ./data/eBayiPadTrain.csv: 1,861 rows x 11 cols"
##                                                                                            description
## 1                                                        iPad is in 8.5+ out of 10 cosmetic condition!
## 2 Previously used, please read description. May show signs of use such as scratches to the screen and 
## 3                                                                                                     
## 4                                                                                                     
## 5 Please feel free to buy. All products have been thoroughly inspected, cleaned and tested to be 100% 
## 6                                                                                                     
##   biddable startprice               condition cellular carrier      color
## 1        0     159.99                    Used        0    None      Black
## 2        1       0.99                    Used        1 Verizon    Unknown
## 3        0     199.99                    Used        0    None      White
## 4        0     235.00 New other (see details)        0    None    Unknown
## 5        0     199.99      Seller refurbished  Unknown Unknown    Unknown
## 6        1     175.00                    Used        1    AT&T Space Gray
##   storage productline sold UniqueID
## 1      16      iPad 2    0    10001
## 2      16      iPad 2    1    10002
## 3      16      iPad 4    1    10003
## 4      16 iPad mini 2    0    10004
## 5 Unknown     Unknown    0    10005
## 6      32 iPad mini 2    1    10006
##                                                                                                        description
## 65                                                                                                                
## 283                                                              Pristine condition, comes with a case and stylus.
## 948  \211\333\317Used Apple Ipad 16 gig 1st generation in Great working condition and 100% functional.Very little 
## 1354                                                                                                              
## 1366         Item still in complete working order, minor scratches, normal wear and tear but no damage. screen is 
## 1840                                                                                                              
##      biddable startprice          condition cellular carrier      color
## 65          0     195.00               Used        0    None    Unknown
## 283         1      20.00               Used        0    None    Unknown
## 948         0     110.00 Seller refurbished        0    None      Black
## 1354        0     300.00               Used        0    None      White
## 1366        1     125.00               Used  Unknown Unknown    Unknown
## 1840        0     249.99               Used        1  Sprint Space Gray
##      storage productline sold UniqueID
## 65        16   iPad mini    0    10065
## 283       64      iPad 1    0    10283
## 948       32      iPad 1    0    10948
## 1354      16    iPad Air    1    11354
## 1366 Unknown      iPad 1    1    11366
## 1840      16    iPad Air    1    11840
##                                                                                            description
## 1856  Overall item is in good condition and is fully operational and ready to use. Comes with box and 
## 1857 Used. Tested. Guaranteed to work. Physical condition grade B+ does have some light scratches and 
## 1858     This item is brand new and was never used; however, the box and/or packaging has been opened.
## 1859                                                                                                  
## 1860     This unit has minor scratches on case and several small scratches on the display. \nIt is in 
## 1861  30 Day Warranty.  Fully functional engraved iPad 1st Generation with signs of normal wear which 
##      biddable startprice               condition cellular carrier
## 1856        0      89.50                    Used        1    AT&T
## 1857        0     239.95                    Used        0    None
## 1858        0     329.99 New other (see details)        0    None
## 1859        0     400.00                     New        0    None
## 1860        0      89.00      Seller refurbished        0    None
## 1861        0     119.99                    Used        1    AT&T
##           color storage productline sold UniqueID
## 1856    Unknown      16      iPad 1    0    11856
## 1857      Black      32      iPad 4    1    11857
## 1858 Space Gray      16    iPad Air    0    11858
## 1859       Gold      16 iPad mini 3    0    11859
## 1860      Black      64      iPad 1    1    11860
## 1861      Black      64      iPad 1    0    11861
## 'data.frame':    1861 obs. of  11 variables:
##  $ description: chr  "iPad is in 8.5+ out of 10 cosmetic condition!" "Previously used, please read description. May show signs of use such as scratches to the screen and " "" "" ...
##  $ biddable   : int  0 1 0 0 0 1 1 0 1 1 ...
##  $ startprice : num  159.99 0.99 199.99 235 199.99 ...
##  $ condition  : chr  "Used" "Used" "Used" "New other (see details)" ...
##  $ cellular   : chr  "0" "1" "0" "0" ...
##  $ carrier    : chr  "None" "Verizon" "None" "None" ...
##  $ color      : chr  "Black" "Unknown" "White" "Unknown" ...
##  $ storage    : chr  "16" "16" "16" "16" ...
##  $ productline: chr  "iPad 2" "iPad 2" "iPad 4" "iPad mini 2" ...
##  $ sold       : int  0 1 1 0 0 1 1 0 1 1 ...
##  $ UniqueID   : int  10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 ...
##  - attr(*, "comment")= chr "glb_trnobs_df"
## NULL
# glb_trnobs_df <- read.delim("data/hygiene.txt", header=TRUE, fill=TRUE, sep="\t",
#                             fileEncoding='iso-8859-1')
# glb_trnobs_df <- read.table("data/hygiene.dat.labels", col.names=c("dirty"),
#                             na.strings="[none]")
# glb_trnobs_df$review <- readLines("data/hygiene.dat", n =-1)
# comment(glb_trnobs_df) <- "glb_trnobs_df"                                

# glb_trnobs_df <- data.frame()
# for (symbol in c("Boeing", "CocaCola", "GE", "IBM", "ProcterGamble")) {
#     sym_trnobs_df <- 
#         myimport_data(url=gsub("IBM", symbol, glb_trnng_url), comment="glb_trnobs_df", 
#                                     force_header=TRUE)
#     sym_trnobs_df$Symbol <- symbol
#     glb_trnobs_df <- myrbind_df(glb_trnobs_df, sym_trnobs_df)
# }
                                
# glb_trnobs_df <- 
#     glb_trnobs_df %>% dplyr::filter(Year >= 1999)
                                
if (glb_is_separate_newobs_dataset) {
    glb_newobs_df <- myimport_data(url=glb_newdt_url, comment="glb_newobs_df", 
                                   force_header=TRUE)
    
    # To make plots / stats / checks easier in chunk:inspectORexplore.data
    glb_allobs_df <- myrbind_df(glb_trnobs_df, glb_newobs_df); 
    comment(glb_allobs_df) <- "glb_allobs_df"
} else {
    glb_allobs_df <- glb_trnobs_df; comment(glb_allobs_df) <- "glb_allobs_df"
    if (!glb_split_entity_newobs_datasets) {
        stop("Not implemented yet") 
        glb_newobs_df <- glb_trnobs_df[sample(1:nrow(glb_trnobs_df),
                                          max(2, nrow(glb_trnobs_df) / 1000)),]                    
    } else      if (glb_split_newdata_method == "condition") {
            glb_newobs_df <- do.call("subset", 
                list(glb_trnobs_df, parse(text=glb_split_newdata_condition)))
            glb_trnobs_df <- do.call("subset", 
                list(glb_trnobs_df, parse(text=paste0("!(", 
                                                      glb_split_newdata_condition,
                                                      ")"))))
        } else if (glb_split_newdata_method == "sample") {
                require(caTools)
                
                set.seed(glb_split_sample.seed)
                split <- sample.split(glb_trnobs_df[, glb_rsp_var_raw], 
                                      SplitRatio=(1-glb_split_newdata_size_ratio))
                glb_newobs_df <- glb_trnobs_df[!split, ] 
                glb_trnobs_df <- glb_trnobs_df[split ,]
        } else if (glb_split_newdata_method == "copy") {  
            glb_trnobs_df <- glb_allobs_df
            comment(glb_trnobs_df) <- "glb_trnobs_df"
            glb_newobs_df <- glb_allobs_df
            comment(glb_newobs_df) <- "glb_newobs_df"
        } else stop("glb_split_newdata_method should be %in% c('condition', 'sample', 'copy')")   

    comment(glb_newobs_df) <- "glb_newobs_df"
    myprint_df(glb_newobs_df)
    str(glb_newobs_df)

    if (glb_split_entity_newobs_datasets) {
        myprint_df(glb_trnobs_df)
        str(glb_trnobs_df)        
    }
}         
## [1] "Reading file ./data/eBayiPadTest.csv..."
## [1] "dimensions of data in ./data/eBayiPadTest.csv: 798 rows x 10 cols"
##                                                                                                  description
## 1                                                                                                   like new
## 2 Item is in great shape. I upgraded to the iPad Air 2 and don&#039;t need the mini any longer, even though 
## 3        This iPad is working and is tested 100%. It runs great. It is in good condition. Cracked digitizer.
## 4                                                                                                           
## 5        Grade A condition means that the Ipad is 100% working condition. Cosmetically 8/9 out of 10 - Will 
## 6                   Brand new factory sealed iPad in an OPEN BOX...THE BOX ITSELF IS HEAVILY DISTRESSED(see 
##   biddable startprice                condition cellular carrier   color
## 1        0     105.00                     Used        1    AT&T Unknown
## 2        0     195.00                     Used        0    None Unknown
## 3        0     219.99                     Used        0    None Unknown
## 4        1     100.00                     Used        0    None Unknown
## 5        0     210.99 Manufacturer refurbished        0    None   Black
## 6        0     514.95  New other (see details)        0    None    Gold
##   storage productline UniqueID
## 1      32      iPad 1    11862
## 2      16 iPad mini 2    11863
## 3      64      iPad 3    11864
## 4      16   iPad mini    11865
## 5      32      iPad 3    11866
## 6      64  iPad Air 2    11867
##                                                                                               description
## 1                                                                                                like new
## 142                                             iPad mini 1st gen wi-fi 16gb is in perfect working order.
## 309     In excellent condition. Minor scratches on the back. Screen in mint condition. Comes in original 
## 312 iPad is in Great condition, the screen is in great condition showing only a few minor scratches, the 
## 320                                                                   Good condition and fully functional
## 369                                                                                                      
##     biddable startprice condition cellular carrier   color storage
## 1          0     105.00      Used        1    AT&T Unknown      32
## 142        1       0.99      Used        0    None Unknown      16
## 309        0     200.00      Used        1    AT&T   Black      32
## 312        1       0.99      Used        0    None Unknown      16
## 320        1      60.00      Used        0    None   White      16
## 369        1     197.97      Used        0    None Unknown      64
##     productline UniqueID
## 1        iPad 1    11862
## 142   iPad mini    12003
## 309      iPad 3    12170
## 312 iPad mini 2    12173
## 320      iPad 1    12181
## 369 iPad mini 3    12230
##                                                                                              description
## 793  Crack on digitizer near top. Top line of digitizer does not respond to touch. Other than that, all 
## 794                                                                                                     
## 795                                                                                                     
## 796                                                                                                     
## 797                                                                                                     
## 798 Slightly Used. Includes everything you need plus a nice leather case!\nThere is a slice mark on the 
##     biddable startprice                condition cellular carrier   color
## 793        0     104.00 For parts or not working        1 Unknown   Black
## 794        0      95.00                     Used        1    AT&T Unknown
## 795        1     199.99 Manufacturer refurbished        0    None   White
## 796        0     149.99                     Used        0    None Unknown
## 797        0       7.99                      New  Unknown Unknown Unknown
## 798        0     139.00                     Used        1 Unknown   Black
##     storage productline UniqueID
## 793      16      iPad 2    12654
## 794      64      iPad 1    12655
## 795      16      iPad 4    12656
## 796      16      iPad 2    12657
## 797 Unknown      iPad 3    12658
## 798      32     Unknown    12659
## 'data.frame':    798 obs. of  10 variables:
##  $ description: chr  "like new" "Item is in great shape. I upgraded to the iPad Air 2 and don&#039;t need the mini any longer, even though " "This iPad is working and is tested 100%. It runs great. It is in good condition. Cracked digitizer." "" ...
##  $ biddable   : int  0 0 0 1 0 0 0 0 0 1 ...
##  $ startprice : num  105 195 220 100 211 ...
##  $ condition  : chr  "Used" "Used" "Used" "Used" ...
##  $ cellular   : chr  "1" "0" "0" "0" ...
##  $ carrier    : chr  "AT&T" "None" "None" "None" ...
##  $ color      : chr  "Unknown" "Unknown" "Unknown" "Unknown" ...
##  $ storage    : chr  "32" "16" "64" "16" ...
##  $ productline: chr  "iPad 1" "iPad mini 2" "iPad 3" "iPad mini" ...
##  $ UniqueID   : int  11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 ...
##  - attr(*, "comment")= chr "glb_newobs_df"
## NULL
if ((num_nas <- sum(is.na(glb_trnobs_df[, glb_rsp_var_raw]))) > 0)
    stop("glb_trnobs_df$", glb_rsp_var_raw, " contains NAs for ", num_nas, " obs")

if (nrow(glb_trnobs_df) == nrow(glb_allobs_df))
    warning("glb_trnobs_df same as glb_allobs_df")
if (nrow(glb_newobs_df) == nrow(glb_allobs_df))
    warning("glb_newobs_df same as glb_allobs_df")

if (length(glb_drop_vars) > 0) {
    warning("dropping vars: ", paste0(glb_drop_vars, collapse=", "))
    glb_allobs_df <- glb_allobs_df[, setdiff(names(glb_allobs_df), glb_drop_vars)]
    glb_trnobs_df <- glb_trnobs_df[, setdiff(names(glb_trnobs_df), glb_drop_vars)]    
    glb_newobs_df <- glb_newobs_df[, setdiff(names(glb_newobs_df), glb_drop_vars)]    
}

#stop(here"); sav_allobs_df <- glb_allobs_df # glb_allobs_df <- sav_allobs_df
# Combine trnent & newobs into glb_allobs_df for easier manipulation
glb_trnobs_df$.src <- "Train"; glb_newobs_df$.src <- "Test"; 
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, ".src")
glb_allobs_df <- myrbind_df(glb_trnobs_df, glb_newobs_df)
comment(glb_allobs_df) <- "glb_allobs_df"

# Check for duplicates in glb_id_var
if (length(glb_id_var) == 0) {
    warning("using .rownames as identifiers for observations")
    glb_allobs_df$.rownames <- rownames(glb_allobs_df)
    glb_trnobs_df$.rownames <- rownames(subset(glb_allobs_df, .src == "Train"))
    glb_newobs_df$.rownames <- rownames(subset(glb_allobs_df, .src == "Test"))    
    glb_id_var <- ".rownames"
}
if (sum(duplicated(glb_allobs_df[, glb_id_var, FALSE])) > 0)
    stop(glb_id_var, " duplicated in glb_allobs_df")
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, glb_id_var)

glb_allobs_df <- orderBy(reformulate(glb_id_var), glb_allobs_df)
glb_trnobs_df <- glb_newobs_df <- NULL

# For Tableau
write.csv(glb_allobs_df, "data/eBayiPadAll.csv", row.names=FALSE)

#stop(here")
glb_drop_obs <- c(
                11234, #sold=0; 2 other dups(10306, 11503) are sold=1
                11844, #sold=0; 3 other dups(11721, 11738, 11812) are sold=1
                  NULL)
glb_allobs_df <- glb_allobs_df[!glb_allobs_df[, glb_id_var] %in% glb_drop_obs, ]


# Make any data corrections here
glb_allobs_df[glb_allobs_df[, glb_id_var] == 10986, "cellular"] <- "1"
glb_allobs_df[glb_allobs_df[, glb_id_var] == 10986, "carrier"] <- "T-Mobile"

# Check for duplicates by all features
require(gdata)
## Loading required package: gdata
## gdata: read.xls support for 'XLS' (Excel 97-2004) files ENABLED.
## 
## gdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
## 
## Attaching package: 'gdata'
## 
## The following object is masked from 'package:stats':
## 
##     nobs
## 
## The following object is masked from 'package:utils':
## 
##     object.size
#print(names(glb_allobs_df))
dup_allobs_df <- glb_allobs_df[duplicated2(subset(glb_allobs_df, 
                                                  select=-c(UniqueID, sold, .src))), ]
dup_allobs_df <- orderBy(~productline+description+startprice+biddable, dup_allobs_df)
print(sprintf("Found %d duplicates by all features:", nrow(dup_allobs_df)))
## [1] "Found 304 duplicates by all features:"
myprint_df(dup_allobs_df)
##      description biddable startprice                condition cellular
## 1711                    1       0.99 For parts or not working  Unknown
## 2608                    1       0.99 For parts or not working  Unknown
## 293                     1       5.00                     Used  Unknown
## 478                     1       5.00                     Used  Unknown
## 385                     0      15.00                     Used        0
## 390                     0      15.00                     Used        0
##      carrier   color storage productline sold UniqueID  .src
## 1711 Unknown Unknown      16     Unknown    1    11711 Train
## 2608 Unknown Unknown      16     Unknown   NA    12608  Test
## 293  Unknown   White      16     Unknown    1    10293 Train
## 478  Unknown   White      16     Unknown    1    10478 Train
## 385     None   Black      16     Unknown    0    10385 Train
## 390     None   Black      16     Unknown    0    10390 Train
##      description biddable startprice                condition cellular
## 1956                    1       0.99                     Used        0
## 828                     1     249.97 Manufacturer refurbished        1
## 3                       0     199.99                     Used        0
## 1649                    0     209.00 For parts or not working  Unknown
## 2111                    1     200.00                     Used        0
## 172                     0     269.00                     Used        0
##      carrier      color storage productline sold UniqueID  .src
## 1956    None    Unknown      16      iPad 2   NA    11956  Test
## 828  Unknown      Black      64      iPad 2    0    10828 Train
## 3       None      White      16      iPad 4    1    10003 Train
## 1649 Unknown    Unknown      16    iPad Air    0    11649 Train
## 2111    None Space Gray      64 iPad mini 2   NA    12111  Test
## 172     None    Unknown      32 iPad mini 2    0    10172 Train
##      description biddable startprice condition cellular carrier color
## 8                       0     329.99       New        0    None White
## 660                     0     329.99       New        0    None White
## 319                     0     345.00       New        0    None  Gold
## 1886                    0     345.00       New        0    None  Gold
## 1363                    0     498.88       New        1 Verizon  Gold
## 1394                    0     498.88       New        1 Verizon  Gold
##      storage productline sold UniqueID  .src
## 8         16 iPad mini 3    0    10008 Train
## 660       16 iPad mini 3    0    10660 Train
## 319       16 iPad mini 3    1    10319 Train
## 1886      16 iPad mini 3   NA    11886  Test
## 1363      16 iPad mini 3    0    11363 Train
## 1394      16 iPad mini 3    0    11394 Train
# print(dup_allobs_df[, c(glb_id_var, glb_rsp_var_raw, 
#                          "description", "startprice", "biddable")])
# write.csv(dup_allobs_df[, c("UniqueID"), FALSE], "ebayipads_dups.csv", row.names=FALSE)

dupobs_df <- tidyr::unite(dup_allobs_df, "allfeats", -c(sold, UniqueID, .src), sep="#")
# dupobs_df <- dplyr::group_by(dupobs_df, allfeats)
# dupobs_df <- dupobs_df[, "UniqueID", FALSE]
# dupobs_df <- ungroup(dupobs_df)
# 
# dupobs_df$.rownames <- row.names(dupobs_df)
grpobs_df <- data.frame(allfeats=unique(dupobs_df[, "allfeats"]))
grpobs_df$.grpid <- row.names(grpobs_df)
dupobs_df <- merge(dupobs_df, grpobs_df)

# dupobs_tbl <- table(dupobs_df$.grpid)
# print(max(dupobs_tbl))
# print(dupobs_tbl[which.max(dupobs_tbl)])
# print(dupobs_df[dupobs_df$.grpid == names(dupobs_tbl[which.max(dupobs_tbl)]), ])
# print(dupobs_df[dupobs_df$.grpid == 106, ])
# for (grpid in c(9, 17, 31, 36, 53))
#     print(dupobs_df[dupobs_df$.grpid == grpid, ])
dupgrps_df <- as.data.frame(table(dupobs_df$.grpid, dupobs_df$sold, useNA="ifany"))
names(dupgrps_df)[c(1,2)] <- c(".grpid", "sold")
dupgrps_df$.grpid <- as.numeric(as.character(dupgrps_df$.grpid))
dupgrps_df <- tidyr::spread(dupgrps_df, sold, Freq)
names(dupgrps_df)[-1] <- paste("sold", names(dupgrps_df)[-1], sep=".")
dupgrps_df$.freq <- sapply(1:nrow(dupgrps_df), function(row) sum(dupgrps_df[row, -1]))
myprint_df(orderBy(~-.freq, dupgrps_df))
##     .grpid sold.0 sold.1 sold.NA .freq
## 40      40      0      6       3     9
## 106    106      0      4       1     5
## 9        9      0      1       3     4
## 17      17      0      3       1     4
## 36      36      0      3       1     4
## 53      53      0      2       2     4
##     .grpid sold.0 sold.1 sold.NA .freq
## 10      10      0      2       0     2
## 42      42      0      1       1     2
## 57      57      1      0       1     2
## 66      66      1      0       1     2
## 91      91      0      1       1     2
## 101    101      0      1       1     2
##     .grpid sold.0 sold.1 sold.NA .freq
## 130    130      1      0       1     2
## 131    131      1      1       0     2
## 132    132      0      1       1     2
## 133    133      2      0       0     2
## 134    134      0      1       1     2
## 135    135      2      0       0     2
print("sold Conflicts:")
## [1] "sold Conflicts:"
print(subset(dupgrps_df, (sold.0 > 0) & (sold.1 > 0)))
##     .grpid sold.0 sold.1 sold.NA .freq
## 4        4      1      1       0     2
## 22      22      1      1       0     2
## 23      23      1      1       0     2
## 74      74      1      1       0     2
## 83      83      1      1       0     2
## 84      84      1      1       0     2
## 95      95      1      1       0     2
## 102    102      1      1       0     2
## 109    109      1      1       0     2
## 111    111      1      1       0     2
## 122    122      1      1       0     2
## 131    131      1      1       0     2
#dupobs_df[dupobs_df$.grpid == 4, ]
if (nrow(subset(dupgrps_df, (sold.0 > 0) & (sold.1 > 0) & (sold.0 != sold.1))) > 0)
    stop("Duplicate conflicts are resolvable")

print("Test & Train Groups:")
## [1] "Test & Train Groups:"
print(subset(dupgrps_df, (sold.NA > 0)))
##     .grpid sold.0 sold.1 sold.NA .freq
## 1        1      0      1       1     2
## 5        5      1      0       1     2
## 7        7      0      0       2     2
## 8        8      1      0       1     2
## 9        9      0      1       3     4
## 12      12      0      0       2     2
## 14      14      0      1       1     2
## 15      15      0      0       2     2
## 17      17      0      3       1     4
## 18      18      0      2       1     3
## 19      19      0      2       1     3
## 24      24      0      2       1     3
## 26      26      1      0       1     2
## 28      28      1      0       1     2
## 30      30      0      1       1     2
## 32      32      0      0       2     2
## 33      33      0      1       1     2
## 35      35      0      2       1     3
## 36      36      0      3       1     4
## 37      37      0      0       2     2
## 38      38      0      1       1     2
## 40      40      0      6       3     9
## 41      41      0      0       2     2
## 42      42      0      1       1     2
## 43      43      0      1       1     2
## 44      44      0      2       1     3
## 47      47      0      1       1     2
## 48      48      0      0       2     2
## 49      49      0      1       2     3
## 51      51      0      1       1     2
## 53      53      0      2       2     4
## 54      54      0      1       1     2
## 55      55      1      0       2     3
## 56      56      1      0       1     2
## 57      57      1      0       1     2
## 58      58      0      0       2     2
## 59      59      1      0       1     2
## 60      60      1      0       1     2
## 63      63      0      1       1     2
## 66      66      1      0       1     2
## 67      67      1      0       1     2
## 68      68      0      0       2     2
## 69      69      1      0       1     2
## 73      73      0      1       1     2
## 76      76      0      2       1     3
## 86      86      0      0       2     2
## 87      87      1      0       1     2
## 89      89      1      0       1     2
## 90      90      0      0       2     2
## 91      91      0      1       1     2
## 93      93      0      1       1     2
## 94      94      1      0       1     2
## 99      99      0      1       1     2
## 101    101      0      1       1     2
## 103    103      0      1       1     2
## 104    104      1      0       1     2
## 106    106      0      4       1     5
## 107    107      0      1       1     2
## 108    108      0      1       1     2
## 112    112      1      0       1     2
## 114    114      0      1       1     2
## 115    115      0      1       1     2
## 116    116      1      0       1     2
## 117    117      0      2       1     3
## 118    118      0      1       1     2
## 121    121      1      0       1     2
## 124    124      1      0       1     2
## 128    128      0      1       1     2
## 130    130      1      0       1     2
## 132    132      0      1       1     2
## 134    134      0      1       1     2
glb_allobs_df <- merge(glb_allobs_df, dupobs_df[, c(glb_id_var, ".grpid")], 
                       by=glb_id_var, all.x=TRUE)
glb_exclude_vars_as_features <- c(".grpid", glb_exclude_vars_as_features)

glb_chunks_df <- myadd_chunk(glb_chunks_df, "inspect.data", major.inc=TRUE)
##          label step_major step_minor    bgn    end elapsed
## 1  import.data          1          0  8.739 11.506   2.768
## 2 inspect.data          2          0 11.507     NA      NA

Step 2.0: inspect data

#print(str(glb_allobs_df))
#View(glb_allobs_df)

dsp_class_dstrb <- function(var) {
    xtab_df <- mycreate_xtab_df(glb_allobs_df, c(".src", var))
    rownames(xtab_df) <- xtab_df$.src
    xtab_df <- subset(xtab_df, select=-.src)
    print(xtab_df)
    print(xtab_df / rowSums(xtab_df, na.rm=TRUE))    
}    

# Performed repeatedly in other chunks
glb_chk_data <- function() {
    # Histogram of predictor in glb_trnobs_df & glb_newobs_df
    print(myplot_histogram(glb_allobs_df, glb_rsp_var_raw) + facet_wrap(~ .src))
    
    if (glb_is_classification) 
        dsp_class_dstrb(var=ifelse(glb_rsp_var %in% names(glb_allobs_df), 
                                   glb_rsp_var, glb_rsp_var_raw))
    mycheck_problem_data(glb_allobs_df)
}
glb_chk_data()
## stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this.
## stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this.

## [1] "numeric data missing in : "
## sold 
##  798 
## [1] "numeric data w/ 0s in : "
## biddable     sold 
##     1444      999 
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## description   condition    cellular     carrier       color     storage 
##        1520           0           0           0           0           0 
## productline      .grpid 
##           0          NA
# Create new features that help diagnostics
if (!is.null(glb_map_rsp_raw_to_var)) {
    glb_allobs_df[, glb_rsp_var] <- 
        glb_map_rsp_raw_to_var(glb_allobs_df[, glb_rsp_var_raw])
    mycheck_map_results(mapd_df=glb_allobs_df, 
                        from_col_name=glb_rsp_var_raw, to_col_name=glb_rsp_var)
        
    if (glb_is_classification) dsp_class_dstrb(glb_rsp_var)
}

# check distribution of all numeric data
dsp_numeric_feats_dstrb <- function(feats_vctr) {
    for (feat in feats_vctr) {
        print(sprintf("feat: %s", feat))
        if (glb_is_regression)
            gp <- myplot_scatter(df=glb_allobs_df, ycol_name=glb_rsp_var, xcol_name=feat,
                                 smooth=TRUE)
        if (glb_is_classification)
            gp <- myplot_box(df=glb_allobs_df, ycol_names=feat, xcol_name=glb_rsp_var)
        if (inherits(glb_allobs_df[, feat], "factor"))
            gp <- gp + facet_wrap(reformulate(feat))
        print(gp)
    }
}
# dsp_numeric_vars_dstrb(setdiff(names(glb_allobs_df), 
#                                 union(myfind_chr_cols_df(glb_allobs_df), 
#                                       c(glb_rsp_var_raw, glb_rsp_var))))                                      

add_new_diag_feats <- function(obs_df, ref_df=glb_allobs_df) {
    require(plyr)
    
    obs_df <- mutate(obs_df,
#         <col_name>.NA=is.na(<col_name>),

#         <col_name>.fctr=factor(<col_name>, 
#                     as.factor(union(obs_df$<col_name>, obs_twin_df$<col_name>))), 
#         <col_name>.fctr=relevel(factor(<col_name>, 
#                     as.factor(union(obs_df$<col_name>, obs_twin_df$<col_name>))),
#                                   "<ref_val>"), 
#         <col2_name>.fctr=relevel(factor(ifelse(<col1_name> == <val>, "<oth_val>", "<ref_val>")), 
#                               as.factor(c("R", "<ref_val>")),
#                               ref="<ref_val>"),

          # This doesn't work - use sapply instead
#         <col_name>.fctr_num=grep(<col_name>, levels(<col_name>.fctr)), 
#         
#         Date.my=as.Date(strptime(Date, "%m/%d/%y %H:%M")),
#         Year=year(Date.my),
#         Month=months(Date.my),
#         Weekday=weekdays(Date.my)

#         <col_name>=<table>[as.character(<col2_name>)],
#         <col_name>=as.numeric(<col2_name>),

#         <col_name> = trunc(<col2_name> / 100),

        .rnorm = rnorm(n=nrow(obs_df))
                        )

    # If levels of a factor are different across obs_df & glb_newobs_df; predict.glm fails  
    # Transformations not handled by mutate
#     obs_df$<col_name>.fctr.num <- sapply(1:nrow(obs_df), 
#         function(row_ix) grep(obs_df[row_ix, "<col_name>"],
#                               levels(obs_df[row_ix, "<col_name>.fctr"])))
    
    #print(summary(obs_df))
    #print(sapply(names(obs_df), function(col) sum(is.na(obs_df[, col]))))
    return(obs_df)
}
glb_allobs_df <- add_new_diag_feats(glb_allobs_df)
## Loading required package: plyr
require(dplyr)
## Loading required package: dplyr
## 
## Attaching package: 'dplyr'
## 
## The following objects are masked from 'package:plyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## 
## The following objects are masked from 'package:gdata':
## 
##     combine, first, last
## 
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## 
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#stop(here"); sav_allobs_df <- glb_allobs_df # glb_allobs_df <- sav_allobs_df
# Merge some <descriptor>
# glb_allobs_df$<descriptor>.my <- glb_allobs_df$<descriptor>
# glb_allobs_df[grepl("\\bAIRPORT\\b", glb_allobs_df$<descriptor>.my),
#               "<descriptor>.my"] <- "AIRPORT"
# glb_allobs_df$<descriptor>.my <-
#     plyr::revalue(glb_allobs_df$<descriptor>.my, c(
#         "ABANDONED BUILDING" = "OTHER",
#         "##"                      = "##"
#     ))
# print(<descriptor>_freq_df <- mycreate_sqlxtab_df(glb_allobs_df, c("<descriptor>.my")))
# # print(dplyr::filter(<descriptor>_freq_df, grepl("(MEDICAL|DENTAL|OFFICE)", <descriptor>.my)))
# # print(dplyr::filter(dplyr::select(glb_allobs_df, -<var.zoo>), 
# #                     grepl("STORE", <descriptor>.my)))
# glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, "<descriptor>")

# Check distributions of newly transformed / extracted vars
#   Enhancement: remove vars that were displayed ealier
dsp_numeric_feats_dstrb(feats_vctr=setdiff(names(glb_allobs_df), 
        c(myfind_chr_cols_df(glb_allobs_df), glb_rsp_var_raw, glb_rsp_var, 
          glb_exclude_vars_as_features)))
## [1] "feat: biddable"
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.

## [1] "feat: .rnorm"
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.

#   Convert factors to dummy variables
#   Build splines   require(splines); bsBasis <- bs(training$age, df=3)

#pairs(subset(glb_trnobs_df, select=-c(col_symbol)))
# Check for glb_newobs_df & glb_trnobs_df features range mismatches

# Other diagnostics:
# print(subset(glb_trnobs_df, <col1_name> == max(glb_trnobs_df$<col1_name>, na.rm=TRUE) & 
#                         <col2_name> <= mean(glb_trnobs_df$<col1_name>, na.rm=TRUE)))

# print(glb_trnobs_df[which.max(glb_trnobs_df$<col_name>),])

# print(<col_name>_freq_glb_trnobs_df <- mycreate_tbl_df(glb_trnobs_df, "<col_name>"))
# print(which.min(table(glb_trnobs_df$<col_name>)))
# print(which.max(table(glb_trnobs_df$<col_name>)))
# print(which.max(table(glb_trnobs_df$<col1_name>, glb_trnobs_df$<col2_name>)[, 2]))
# print(table(glb_trnobs_df$<col1_name>, glb_trnobs_df$<col2_name>))
# print(table(is.na(glb_trnobs_df$<col1_name>), glb_trnobs_df$<col2_name>))
# print(table(sign(glb_trnobs_df$<col1_name>), glb_trnobs_df$<col2_name>))
# print(mycreate_xtab_df(glb_trnobs_df, <col1_name>))
# print(mycreate_xtab_df(glb_trnobs_df, c(<col1_name>, <col2_name>)))
# print(<col1_name>_<col2_name>_xtab_glb_trnobs_df <- 
#   mycreate_xtab_df(glb_trnobs_df, c("<col1_name>", "<col2_name>")))
# <col1_name>_<col2_name>_xtab_glb_trnobs_df[is.na(<col1_name>_<col2_name>_xtab_glb_trnobs_df)] <- 0
# print(<col1_name>_<col2_name>_xtab_glb_trnobs_df <- 
#   mutate(<col1_name>_<col2_name>_xtab_glb_trnobs_df, 
#             <col3_name>=(<col1_name> * 1.0) / (<col1_name> + <col2_name>))) 
# print(mycreate_sqlxtab_df(glb_allobs_df, c("<col1_name>", "<col2_name>")))

# print(<col2_name>_min_entity_arr <- 
#    sort(tapply(glb_trnobs_df$<col1_name>, glb_trnobs_df$<col2_name>, min, na.rm=TRUE)))
# print(<col1_name>_na_by_<col2_name>_arr <- 
#    sort(tapply(glb_trnobs_df$<col1_name>.NA, glb_trnobs_df$<col2_name>, mean, na.rm=TRUE)))

# Other plots:
# print(myplot_box(df=glb_trnobs_df, ycol_names="<col1_name>"))
# print(myplot_box(df=glb_trnobs_df, ycol_names="<col1_name>", xcol_name="<col2_name>"))
# print(myplot_line(subset(glb_trnobs_df, Symbol %in% c("CocaCola", "ProcterGamble")), 
#                   "Date.POSIX", "StockPrice", facet_row_colnames="Symbol") + 
#     geom_vline(xintercept=as.numeric(as.POSIXlt("2003-03-01"))) +
#     geom_vline(xintercept=as.numeric(as.POSIXlt("1983-01-01")))        
#         )
# print(myplot_line(subset(glb_trnobs_df, Date.POSIX > as.POSIXct("2004-01-01")), 
#                   "Date.POSIX", "StockPrice") +
#     geom_line(aes(color=Symbol)) + 
#     coord_cartesian(xlim=c(as.POSIXct("1990-01-01"),
#                            as.POSIXct("2000-01-01"))) +     
#     coord_cartesian(ylim=c(0, 250)) +     
#     geom_vline(xintercept=as.numeric(as.POSIXlt("1997-09-01"))) +
#     geom_vline(xintercept=as.numeric(as.POSIXlt("1997-11-01")))        
#         )
# print(myplot_scatter(glb_allobs_df, "<col1_name>", "<col2_name>", smooth=TRUE))
# print(myplot_scatter(glb_allobs_df, "<col1_name>", "<col2_name>", colorcol_name="<Pred.fctr>") + 
#         geom_point(data=subset(glb_allobs_df, <condition>), 
#                     mapping=aes(x=<x_var>, y=<y_var>), color="red", shape=4, size=5) +
#         geom_vline(xintercept=84))

glb_chunks_df <- myadd_chunk(glb_chunks_df, "scrub.data", major.inc=FALSE)
##          label step_major step_minor    bgn    end elapsed
## 2 inspect.data          2          0 11.507 13.552   2.045
## 3   scrub.data          2          1 13.553     NA      NA

Step 2.1: scrub data

mycheck_problem_data(glb_allobs_df)
## [1] "numeric data missing in : "
## sold 
##  798 
## [1] "numeric data w/ 0s in : "
## biddable     sold 
##     1444      999 
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## description   condition    cellular     carrier       color     storage 
##        1520           0           0           0           0           0 
## productline      .grpid 
##           0          NA
findOffendingCharacter <- function(x, maxStringLength=256){  
  print(x)
  for (c in 1:maxStringLength){
    offendingChar <- substr(x,c,c)
    #print(offendingChar) #uncomment if you want the indiv characters printed
    #the next character is the offending multibyte Character
  }    
}
# string_vector <- c("test", "Se\x96ora", "works fine")
# lapply(string_vector, findOffendingCharacter)
# lapply(glb_allobs_df$description[29], findOffendingCharacter)

sel_obs <- function(vars_lst, ignore.case=TRUE, perl=FALSE) {
    tmp_df <- glb_allobs_df
    
    # Does not work for Popular == NAs ???
#     if (!is.null(Popular)) {
#         if (is.na(Popular))
#             tmp_df <- tmp_df[is.na(tmp_df$Popular), ] else   
#             tmp_df <- tmp_df[tmp_df$Popular == Popular, ]    
#     }    
#     if (!is.null(NewsDesk)) 
#         tmp_df <- tmp_df[tmp_df$NewsDesk == NewsDesk, ]
    
    for (var in names(vars_lst)) {
        if (grepl(".contains", var))
            tmp_df <- tmp_df[grep(vars_lst[var], 
                                  tmp_df[, unlist(strsplit(var, ".contains"))],
                                  ignore.case=ignore.case, perl=perl), ]
        else 
            tmp_df <- tmp_df[tmp_df[, var] == vars_lst[var], ]
    }

    return(glb_allobs_df[, glb_id_var] %in% tmp_df[, glb_id_var])
}
#print(glb_allobs_df[sel_obs(list(description.contains="mini(?!m)"), perl=TRUE), "description"])

dsp_obs <- function(..., cols=c(NULL), all=FALSE) {
    tmp_df <- glb_allobs_df[sel_obs(...), 
                        c(glb_id_var, glb_rsp_var, glb_category_var, glb_txt_vars, cols),
                            FALSE]
    if(all) { print(tmp_df) } else { myprint_df(tmp_df) }
}
#dsp_obs(list(description.contains="mini(?!m)"), perl=TRUE)
#dsp_obs(Popular=1, NewsDesk="", SectionName="", Headline.contains="Boehner")
# dsp_obs(Popular=1, NewsDesk="", SectionName="")
# dsp_obs(Popular=NA, NewsDesk="", SectionName="")

dsp_hdlxtab <- function(str) 
    print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains=str), ],
                           c("Headline.pfx", "Headline", glb_rsp_var)))
#dsp_hdlxtab("(1914)|(1939)")

dsp_catxtab <- function(str) 
    print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains=str), ],
        c("Headline.pfx", "NewsDesk", "SectionName", "SubsectionName", glb_rsp_var)))
# dsp_catxtab("1914)|(1939)")
# dsp_catxtab("19(14|39|64):")
# dsp_catxtab("19..:")

# Merge some categories
# glb_allobs_df$myCategory <-
#     plyr::revalue(glb_allobs_df$myCategory, c(      
#         "#Business Day#Dealbook"            = "Business#Business Day#Dealbook",
#         "#Business Day#Small Business"      = "Business#Business Day#Small Business",
#         "dummy" = "dummy"
#     ))

# ctgry_xtab_df <- orderBy(reformulate(c("-", ".n")),
#                           mycreate_sqlxtab_df(glb_allobs_df,
#     c("myCategory", "NewsDesk", "SectionName", "SubsectionName", glb_rsp_var)))
# myprint_df(ctgry_xtab_df)
# write.table(ctgry_xtab_df, paste0(glb_out_pfx, "ctgry_xtab.csv"), 
#             row.names=FALSE)

# ctgry_cast_df <- orderBy(~ -Y -NA, dcast(ctgry_xtab_df, 
#                        myCategory + NewsDesk + SectionName + SubsectionName ~ 
#                            Popular.fctr, sum, value.var=".n"))
# myprint_df(ctgry_cast_df)
# write.table(ctgry_cast_df, paste0(glb_out_pfx, "ctgry_cast.csv"), 
#             row.names=FALSE)

# print(ctgry_sum_tbl <- table(glb_allobs_df$myCategory, glb_allobs_df[, glb_rsp_var], 
#                              useNA="ifany"))

dsp_chisq.test <- function(...) {
    sel_df <- glb_allobs_df[sel_obs(...) & 
                            !is.na(glb_allobs_df$Popular), ]
    sel_df$.marker <- 1
    ref_df <- glb_allobs_df[!is.na(glb_allobs_df$Popular), ]
    mrg_df <- merge(ref_df[, c(glb_id_var, "Popular")],
                    sel_df[, c(glb_id_var, ".marker")], all.x=TRUE)
    mrg_df[is.na(mrg_df)] <- 0
    print(mrg_tbl <- table(mrg_df$.marker, mrg_df$Popular))
    print("Rows:Selected; Cols:Popular")
    #print(mrg_tbl)
    print(chisq.test(mrg_tbl))
}
# dsp_chisq.test(Headline.contains="[Ee]bola")
# dsp_chisq.test(Snippet.contains="[Ee]bola")
# dsp_chisq.test(Abstract.contains="[Ee]bola")

# print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains="[Ee]bola"), ], 
#                           c(glb_rsp_var, "NewsDesk", "SectionName", "SubsectionName")))

# print(table(glb_allobs_df$NewsDesk, glb_allobs_df$SectionName))
# print(table(glb_allobs_df$SectionName, glb_allobs_df$SubsectionName))
# print(table(glb_allobs_df$NewsDesk, glb_allobs_df$SectionName, glb_allobs_df$SubsectionName))

# glb_allobs_df$myCategory.fctr <- as.factor(glb_allobs_df$myCategory)
# glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, 
#                                       c("myCategory", "NewsDesk", "SectionName", "SubsectionName"))

print(table(glb_allobs_df$cellular, glb_allobs_df$carrier, useNA="ifany"))
##          
##           AT&T None Other Sprint T-Mobile Unknown Verizon
##   0          0 1593     0      0        0       0       0
##   1        288    0     4     36       28     172     196
##   Unknown    4    4     2      0        0     330       0
# glb_allobs_df[(glb_allobs_df$cellular %in% c("Unknown")) & 
#               (glb_allobs_df$carrier %in% c("AT&T", "Other")), 
#               c(glb_id_var, glb_rsp_var_raw, "description", "carrier", "cellular")]
glb_allobs_df[(glb_allobs_df$cellular %in% c("Unknown")) & 
              (glb_allobs_df$carrier %in% c("AT&T", "Other")), 
              "cellular"] <- "1"
# glb_allobs_df[(glb_allobs_df$cellular %in% c("Unknown")) & 
#               (glb_allobs_df$carrier %in% c("None")), 
#               c(glb_id_var, glb_rsp_var_raw, "description", "carrier", "cellular")]
glb_allobs_df[(glb_allobs_df$cellular %in% c("Unknown")) & 
              (glb_allobs_df$carrier %in% c("None")), 
              "cellular"] <- "0"
print(table(glb_allobs_df$cellular, glb_allobs_df$carrier, useNA="ifany"))
##          
##           AT&T None Other Sprint T-Mobile Unknown Verizon
##   0          0 1597     0      0        0       0       0
##   1        292    0     6     36       28     172     196
##   Unknown    0    0     0      0        0     330       0

Step 2.1: scrub data

glb_chunks_df <- myadd_chunk(glb_chunks_df, "transform.data", major.inc=FALSE)
##            label step_major step_minor    bgn    end elapsed
## 3     scrub.data          2          1 13.553 14.205   0.652
## 4 transform.data          2          2 14.206     NA      NA
### Mapping dictionary
#sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
if (!is.null(glb_map_vars)) {
    for (feat in glb_map_vars) {
        map_df <- myimport_data(url=glb_map_urls[[feat]], 
                                            comment="map_df", 
                                           print_diagn=TRUE)
        glb_allobs_df <- mymap_codes(glb_allobs_df, feat, names(map_df)[2], 
                                     map_df, map_join_col_name=names(map_df)[1], 
                                     map_tgt_col_name=names(map_df)[2])
    }
    glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, glb_map_vars)
}

### Forced Assignments
#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
for (feat in glb_assign_vars) {
    new_feat <- paste0(feat, ".my")
    print(sprintf("Forced Assignments for: %s -> %s...", feat, new_feat))
    glb_allobs_df[, new_feat] <- glb_allobs_df[, feat]
    
    pairs <- glb_assign_pairs_lst[[feat]]
    for (pair_ix in 1:length(pairs$from)) {
        if (is.na(pairs$from[pair_ix]))
            nobs <- nrow(filter(glb_allobs_df, 
                                is.na(eval(parse(text=feat),
                                            envir=glb_allobs_df)))) else
            nobs <- sum(glb_allobs_df[, feat] == pairs$from[pair_ix])
        #nobs <- nrow(filter(glb_allobs_df, is.na(Married.fctr)))    ; print(nobs)
        
        if ((is.na(pairs$from[pair_ix])) && (is.na(pairs$to[pair_ix])))
            stop("what are you trying to do ???")
        if (is.na(pairs$from[pair_ix]))
            glb_allobs_df[is.na(glb_allobs_df[, feat]), new_feat] <- 
                pairs$to[pair_ix] else
            glb_allobs_df[glb_allobs_df[, feat] == pairs$from[pair_ix], new_feat] <- 
                pairs$to[pair_ix]
                    
        print(sprintf("    %s -> %s for %s obs", 
                      pairs$from[pair_ix], pairs$to[pair_ix], format(nobs, big.mark=",")))
    }

    glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, glb_assign_vars)
}

### Derivations using mapping functions
#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
for (new_feat in glb_derive_vars) {
    print(sprintf("Creating new feature: %s...", new_feat))
    args_lst <- NULL 
    for (arg in glb_derive_lst[[new_feat]]$args) 
        args_lst[[arg]] <- glb_allobs_df[, arg]
    glb_allobs_df[, new_feat] <- do.call(glb_derive_lst[[new_feat]]$mapfn, args_lst)
}
## [1] "Creating new feature: idseq.my..."
## [1] "Creating new feature: prdline.my..."
## [1] "Creating new feature: startprice.log..."
## [1] "Creating new feature: descr.my..."
#stop(here")
#hex_vctr <- c("\n", "\211", "\235", "\317", "\333")
hex_regex <- paste0(c("\n", "\211", "\235", "\317", "\333"), collapse="|")
for (obs_id in c(10178, 10948, 11514, 11904, 12157, 12210, 12659)) {
#     tmp_str <- unlist(strsplit(glb_allobs_df[row_pos, "descr.my"], ""))
#     glb_allobs_df[row_pos, "descr.my"] <- paste0(tmp_str[!tmp_str %in% hex_vctr],
#                                                          collapse="")
    row_pos <- which(glb_allobs_df$UniqueID == obs_id)
    glb_allobs_df[row_pos, "descr.my"] <- 
        gsub(hex_regex, " ", glb_allobs_df[row_pos, "descr.my"])
}

Step 2.2: transform data

#```{r extract_features, cache=FALSE, eval=!is.null(glb_txt_vars)}
glb_chunks_df <- myadd_chunk(glb_chunks_df, "extract.features", major.inc=TRUE)
##              label step_major step_minor    bgn    end elapsed
## 4   transform.data          2          2 14.206 14.715   0.509
## 5 extract.features          3          0 14.715     NA      NA
extract.features_chunk_df <- myadd_chunk(NULL, "extract.features_bgn")
##                  label step_major step_minor    bgn end elapsed
## 1 extract.features_bgn          1          0 14.721  NA      NA
# Options:
#   Select Tf, log(1 + Tf), Tf-IDF or BM25Tf-IDf

# Create new features that help prediction
# <col_name>.lag.2 <- lag(zoo(glb_trnobs_df$<col_name>), -2, na.pad=TRUE)
# glb_trnobs_df[, "<col_name>.lag.2"] <- coredata(<col_name>.lag.2)
# <col_name>.lag.2 <- lag(zoo(glb_newobs_df$<col_name>), -2, na.pad=TRUE)
# glb_newobs_df[, "<col_name>.lag.2"] <- coredata(<col_name>.lag.2)
# 
# glb_newobs_df[1, "<col_name>.lag.2"] <- glb_trnobs_df[nrow(glb_trnobs_df) - 1, 
#                                                    "<col_name>"]
# glb_newobs_df[2, "<col_name>.lag.2"] <- glb_trnobs_df[nrow(glb_trnobs_df), 
#                                                    "<col_name>"]
                                                   
# glb_allobs_df <- mutate(glb_allobs_df,
#     A.P.http=ifelse(grepl("http",Added,fixed=TRUE), 1, 0)
#                     )
# 
# glb_trnobs_df <- mutate(glb_trnobs_df,
#                     )
# 
# glb_newobs_df <- mutate(glb_newobs_df,
#                     )

#   Convert dates to numbers 
#       typically, dates come in as chars; 
#           so this must be done before converting chars to factors

#stop(here"); sav_allobs_df <- glb_allobs_df #; glb_allobs_df <- sav_allobs_df
if (!is.null(glb_date_vars)) {
    glb_allobs_df <- cbind(glb_allobs_df, 
        myextract_dates_df(df=glb_allobs_df, vars=glb_date_vars, 
                           id_vars=glb_id_var, rsp_var=glb_rsp_var))
    for (sfx in c("", ".POSIX"))
        glb_exclude_vars_as_features <- 
            union(glb_exclude_vars_as_features, 
                    paste(glb_date_vars, sfx, sep=""))

    for (feat in glb_date_vars) {
        glb_allobs_df <- orderBy(reformulate(paste0(feat, ".POSIX")), glb_allobs_df)
#         print(myplot_scatter(glb_allobs_df, xcol_name=paste0(feat, ".POSIX"),
#                              ycol_name=glb_rsp_var, colorcol_name=glb_rsp_var))
        print(myplot_scatter(glb_allobs_df[glb_allobs_df[, paste0(feat, ".POSIX")] >=
                                               strptime("2012-12-01", "%Y-%m-%d"), ], 
                             xcol_name=paste0(feat, ".POSIX"),
                             ycol_name=glb_rsp_var, colorcol_name=paste0(feat, ".wkend")))

        # Create features that measure the gap between previous timestamp in the data
        require(zoo)
        z <- zoo(as.numeric(as.POSIXlt(glb_allobs_df[, paste0(feat, ".POSIX")])))
        glb_allobs_df[, paste0(feat, ".zoo")] <- z
        print(head(glb_allobs_df[, c(glb_id_var, feat, paste0(feat, ".zoo"))]))
        print(myplot_scatter(glb_allobs_df[glb_allobs_df[,  paste0(feat, ".POSIX")] >
                                            strptime("2012-10-01", "%Y-%m-%d"), ], 
                            xcol_name=paste0(feat, ".zoo"), ycol_name=glb_rsp_var,
                            colorcol_name=glb_rsp_var))
        b <- zoo(, seq(nrow(glb_allobs_df)))
        
        last1 <- as.numeric(merge(z-lag(z, -1), b, all=TRUE)); last1[is.na(last1)] <- 0
        glb_allobs_df[, paste0(feat, ".last1.log")] <- log(1 + last1)
        print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[, 
                                                    paste0(feat, ".last1.log")] > 0, ], 
                               ycol_names=paste0(feat, ".last1.log"), 
                               xcol_name=glb_rsp_var))
        
        last2 <- as.numeric(merge(z-lag(z, -2), b, all=TRUE)); last2[is.na(last2)] <- 0
        glb_allobs_df[, paste0(feat, ".last2.log")] <- log(1 + last2)
        print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[, 
                                                    paste0(feat, ".last2.log")] > 0, ], 
                               ycol_names=paste0(feat, ".last2.log"), 
                               xcol_name=glb_rsp_var))
        
        last10 <- as.numeric(merge(z-lag(z, -10), b, all=TRUE)); last10[is.na(last10)] <- 0
        glb_allobs_df[, paste0(feat, ".last10.log")] <- log(1 + last10)
        print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[, 
                                                    paste0(feat, ".last10.log")] > 0, ], 
                               ycol_names=paste0(feat, ".last10.log"), 
                               xcol_name=glb_rsp_var))
        
        last100 <- as.numeric(merge(z-lag(z, -100), b, all=TRUE)); last100[is.na(last100)] <- 0
        glb_allobs_df[, paste0(feat, ".last100.log")] <- log(1 + last100)
        print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[, 
                                                    paste0(feat, ".last100.log")] > 0, ], 
                               ycol_names=paste0(feat, ".last100.log"), 
                               xcol_name=glb_rsp_var))
        
        glb_allobs_df <- orderBy(reformulate(glb_id_var), glb_allobs_df)
        glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, 
                                                c(paste0(feat, ".zoo")))
        # all2$last3 = as.numeric(merge(z-lag(z, -3), b, all = TRUE))
        # all2$last5 = as.numeric(merge(z-lag(z, -5), b, all = TRUE))
        # all2$last10 = as.numeric(merge(z-lag(z, -10), b, all = TRUE))
        # all2$last20 = as.numeric(merge(z-lag(z, -20), b, all = TRUE))
        # all2$last50 = as.numeric(merge(z-lag(z, -50), b, all = TRUE))
        # 
        # 
        # # order table
        # all2 = all2[order(all2$id),]
        # 
        # ## fill in NAs
        # # count averages
        # na.avg = all2 %>% group_by(weekend, hour) %>% dplyr::summarise(
        #     last1=mean(last1, na.rm=TRUE),
        #     last3=mean(last3, na.rm=TRUE),
        #     last5=mean(last5, na.rm=TRUE),
        #     last10=mean(last10, na.rm=TRUE),
        #     last20=mean(last20, na.rm=TRUE),
        #     last50=mean(last50, na.rm=TRUE)
        # )
        # 
        # # fill in averages
        # na.merge = merge(all2, na.avg, by=c("weekend","hour"))
        # na.merge = na.merge[order(na.merge$id),]
        # for(i in c("last1", "last3", "last5", "last10", "last20", "last50")) {
        #     y = paste0(i, ".y")
        #     idx = is.na(all2[[i]])
        #     all2[idx,][[i]] <- na.merge[idx,][[y]]
        # }
        # rm(na.avg, na.merge, b, i, idx, n, pd, sec, sh, y, z)
    }
}
rm(last1, last10, last100)
## Warning in rm(last1, last10, last100): object 'last1' not found
## Warning in rm(last1, last10, last100): object 'last10' not found
## Warning in rm(last1, last10, last100): object 'last100' not found
#   Create factors of string variables
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
            paste0("extract.features_", "factorize.str.vars"), major.inc=TRUE)
##                                 label step_major step_minor    bgn    end
## 1                extract.features_bgn          1          0 14.721 14.733
## 2 extract.features_factorize.str.vars          2          0 14.734     NA
##   elapsed
## 1   0.012
## 2      NA
#stop(here"); sav_allobs_df <- glb_allobs_df; #glb_allobs_df <- sav_allobs_df
print(str_vars <- myfind_chr_cols_df(glb_allobs_df))
##   description     condition      cellular       carrier         color 
## "description"   "condition"    "cellular"     "carrier"       "color" 
##       storage   productline          .src        .grpid    prdline.my 
##     "storage" "productline"        ".src"      ".grpid"  "prdline.my" 
##      descr.my 
##    "descr.my"
if (length(str_vars <- setdiff(str_vars, 
                               c(glb_exclude_vars_as_features, glb_txt_vars))) > 0) {
    for (var in str_vars) {
        warning("Creating factors of string variable: ", var, 
                ": # of unique values: ", length(unique(glb_allobs_df[, var])))
        glb_allobs_df[, paste0(var, ".fctr")] <- 
            relevel(factor(glb_allobs_df[, var]),
                    names(which.max(table(glb_allobs_df[, var], useNA = "ifany"))))
    }
    glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, str_vars)
}
## Warning: Creating factors of string variable: condition: # of unique
## values: 6
## Warning: Creating factors of string variable: cellular: # of unique values:
## 3
## Warning: Creating factors of string variable: carrier: # of unique values:
## 7
## Warning: Creating factors of string variable: color: # of unique values: 5
## Warning: Creating factors of string variable: storage: # of unique values:
## 5
## Warning: Creating factors of string variable: prdline.my: # of unique
## values: 12
if (!is.null(glb_txt_vars)) {
    require(foreach)
    require(gsubfn)
    require(stringr)
    require(tm)
    
    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
            paste0("extract.features_", "process.text"), major.inc=TRUE)
    
    chk_pattern_freq <- function(rex_str, ignore.case=TRUE) {
        match_mtrx <- str_extract_all(txt_vctr, regex(rex_str, ignore_case=ignore.case), 
                                      simplify=TRUE)
        match_df <- as.data.frame(match_mtrx[match_mtrx != ""])
        names(match_df) <- "pattern"
        return(mycreate_sqlxtab_df(match_df, "pattern"))        
    }

#     match_lst <- gregexpr("\\bok(?!ay)", txt_vctr[746], ignore.case = FALSE, perl=TRUE); print(match_lst)
    dsp_pattern <- function(rex_str, ignore.case=TRUE, print.all=TRUE) {
        match_lst <- gregexpr(rex_str, txt_vctr, ignore.case = ignore.case, perl=TRUE)
        match_lst <- regmatches(txt_vctr, match_lst)
        match_df <- data.frame(matches=sapply(match_lst, 
                                              function (elems) paste(elems, collapse="#")))
        match_df <- subset(match_df, matches != "")
        if (print.all)
            print(match_df)
        return(match_df)
    }
    
    dsp_matches <- function(rex_str, ix) {
        print(match_pos <- gregexpr(rex_str, txt_vctr[ix], perl=TRUE))
        print(str_sub(txt_vctr[ix], (match_pos[[1]] / 100) *  99 +   0, 
                                    (match_pos[[1]] / 100) * 100 + 100))        
    }

    myapply_gsub <- function(...) {
        if ((length_lst <- length(names(gsub_map_lst))) == 0)
            return(txt_vctr)
        for (ptn_ix in 1:length_lst) {
            if ((ptn_ix %% 10) == 0)
                print(sprintf("running gsub for %02d (of %02d): #%s#...", ptn_ix, 
                                length(names(gsub_map_lst)), names(gsub_map_lst)[ptn_ix]))
            txt_vctr <- gsub(names(gsub_map_lst)[ptn_ix], gsub_map_lst[[ptn_ix]], 
                               txt_vctr, ...)
        }
        return(txt_vctr)
    }    

    myapply_txtmap <- function(txt_vctr, ...) {
        nrows <- nrow(glb_txt_map_df)
        for (ptn_ix in 1:nrows) {
            if ((ptn_ix %% 10) == 0)
                print(sprintf("running gsub for %02d (of %02d): #%s#...", ptn_ix, 
                                nrows, glb_txt_map_df[ptn_ix, "rex_str"]))
            txt_vctr <- gsub(glb_txt_map_df[ptn_ix, "rex_str"], 
                             glb_txt_map_df[ptn_ix, "rpl_str"], 
                               txt_vctr, ...)
        }
        return(txt_vctr)
    }    

    chk.equal <- function(bgn, end) {
        print(all.equal(sav_txt_lst[["Headline"]][bgn:end], 
                        glb_txt_lst[["Headline"]][bgn:end]))
    }    
    dsp.equal <- function(bgn, end) {
        print(sav_txt_lst[["Headline"]][bgn:end])
        print(glb_txt_lst[["Headline"]][bgn:end])
    }    
#sav_txt_lst <- glb_txt_lst; all.equal(sav_txt_lst, glb_txt_lst)
#all.equal(sav_txt_lst[["Headline"]][1:4200], glb_txt_lst[["Headline"]][1:4200])
#chk.equal( 1, 100)
#dsp.equal(86, 90)
    
    txt_map_filename <- paste0(glb_txt_munge_filenames_pfx, "map.csv")
    if (!file.exists(txt_map_filename))
        stop(txt_map_filename, " not found!")
    glb_txt_map_df <- read.csv(txt_map_filename, comment.char="#", strip.white=TRUE)
    glb_txt_lst <- list(); 
    print(sprintf("Building glb_txt_lst..."))
    glb_txt_lst <- foreach(txt_var=glb_txt_vars) %dopar% {   
#     for (txt_var in glb_txt_vars) {
        txt_vctr <- glb_allobs_df[, txt_var]
        
        # myapply_txtmap shd be created as a tm_map::content_transformer ?
        #print(glb_txt_map_df)
        #txt_var=glb_txt_vars[3]; txt_vctr <- glb_txt_lst[[txt_var]]
        #print(rex_str <- glb_txt_map_df[3, "rex_str"])
        #print(rex_str <- glb_txt_map_df[glb_txt_map_df$rex_str == "\\bWall St\\.", "rex_str"])
        #print(rex_str <- glb_txt_map_df[grepl("du Pont", glb_txt_map_df$rex_str), "rex_str"])        
        #print(rex_str <- glb_txt_map_df[glb_txt_map_df$rpl_str == "versus", "rex_str"])             
        #print(tmp_vctr <- grep(rex_str, txt_vctr, value=TRUE, ignore.case=FALSE))
        #ret_lst <- regexec(rex_str, txt_vctr, ignore.case=FALSE); ret_lst <- regmatches(txt_vctr, ret_lst); ret_vctr <- sapply(1:length(ret_lst), function(pos_ix) ifelse(length(ret_lst[[pos_ix]]) > 0, ret_lst[[pos_ix]], "")); print(ret_vctr <- ret_vctr[ret_vctr != ""])
        #gsub(rex_str, glb_txt_map_df[glb_txt_map_df$rex_str == rex_str, "rpl_str"], tmp_vctr, ignore.case=FALSE)
        #grep("Hong Hong", txt_vctr, value=TRUE)
    
        txt_vctr <- myapply_txtmap(txt_vctr, ignore.case=FALSE)    
    }
    names(glb_txt_lst) <- glb_txt_vars

    for (txt_var in glb_txt_vars) {
        print(sprintf("Remaining OK in %s:", txt_var))
        txt_vctr <- glb_txt_lst[[txt_var]]
        
        print(chk_pattern_freq(rex_str <- "(?<!(BO|HO|LO))OK(?!(E\\!|ED|IE|IN|S ))",
                               ignore.case=FALSE))
        match_df <- dsp_pattern(rex_str, ignore.case=FALSE, print.all=FALSE)
        for (row in row.names(match_df))
            dsp_matches(rex_str, ix=as.numeric(row))

        print(chk_pattern_freq(rex_str <- "Ok(?!(a\\.|ay|in|ra|um))", ignore.case=FALSE))
        match_df <- dsp_pattern(rex_str, ignore.case=FALSE, print.all=FALSE)
        for (row in row.names(match_df))
            dsp_matches(rex_str, ix=as.numeric(row))

        print(chk_pattern_freq(rex_str <- "(?<!( b| B| c| C| g| G| j| M| p| P| w| W| r| Z|\\(b|ar|bo|Bo|co|Co|Ew|gk|go|ho|ig|jo|kb|ke|Ke|ki|lo|Lo|mo|mt|no|No|po|ra|ro|sm|Sm|Sp|to|To))ok(?!(ay|bo|e |e\\)|e,|e\\.|eb|ed|el|en|er|es|ey|i |ie|in|it|ka|ke|ki|ly|on|oy|ra|st|u |uc|uy|yl|yo))",
                               ignore.case=FALSE))
        match_df <- dsp_pattern(rex_str, ignore.case=FALSE, print.all=FALSE)
        for (row in row.names(match_df))
            dsp_matches(rex_str, ix=as.numeric(row))
    }    
    # txt_vctr <- glb_txt_lst[[glb_txt_vars[1]]]
    # print(chk_pattern_freq(rex_str <- "(?<!( b| c| C| p|\\(b|bo|co|lo|Lo|Sp|to|To))ok(?!(ay|e |e\\)|e,|e\\.|ed|el|en|es|ey|ie|in|on|ra))", ignore.case=FALSE))
    # print(chk_pattern_freq(rex_str <- "ok(?!(ay|el|on|ra))", ignore.case=FALSE))
    # dsp_pattern(rex_str, ignore.case=FALSE, print.all=FALSE)
    # dsp_matches(rex_str, ix=8)
    # substr(txt_vctr[86], 5613, 5620)
    # substr(glb_allobs_df[301, "review"], 550, 650)

#stop(here"); sav_txt_lst <- glb_txt_lst    
    for (txt_var in glb_txt_vars) {
        print(sprintf("Remaining Acronyms in %s:", txt_var))
        txt_vctr <- glb_txt_lst[[txt_var]]
        
        print(chk_pattern_freq(rex_str <- "([[:upper:]]\\.( *)){2,}", ignore.case=FALSE))
        
        # Check for names
        print(subset(chk_pattern_freq(rex_str <- "(([[:upper:]]+)\\.( *)){1}",
                                      ignore.case=FALSE),
                     .n > 1))
        # dsp_pattern(rex_str="(OK\\.( *)){1}", ignore.case=FALSE)
        # dsp_matches(rex_str="(OK\\.( *)){1}", ix=557)
        #dsp_matches(rex_str="\\bR\\.I\\.P(\\.*)(\\B)", ix=461)
        #dsp_matches(rex_str="\\bR\\.I\\.P(\\.*)", ix=461)        
        #print(str_sub(txt_vctr[676], 10100, 10200))
        #print(str_sub(txt_vctr[74], 1, -1))        
    }

    for (txt_var in glb_txt_vars) {
        re_str <- "\\b(Fort|Ft\\.|Hong|Las|Los|New|Puerto|Saint|San|St\\.)( |-)(\\w)+"
        print(sprintf("Remaining #%s# terms in %s: ", re_str, txt_var))
        txt_vctr <- glb_txt_lst[[txt_var]]        
        print(orderBy(~ -.n +pattern, subset(chk_pattern_freq(re_str, ignore.case=FALSE), 
                                             grepl("( |-)[[:upper:]]", pattern))))
        print("    consider cleaning if relevant to problem domain; geography name; .n > 1")
        #grep("New G", txt_vctr, value=TRUE, ignore.case=FALSE)
        #grep("St\\. Wins", txt_vctr, value=TRUE, ignore.case=FALSE)
    }        
        
#stop(here"); sav_txt_lst <- glb_txt_lst    
    for (txt_var in glb_txt_vars) {
        re_str <- "\\b(N|S|E|W|C)( |\\.)(\\w)+"
        print(sprintf("Remaining #%s# terms in %s: ", re_str, txt_var))        
        txt_vctr <- glb_txt_lst[[txt_var]]                
        print(orderBy(~ -.n +pattern, subset(chk_pattern_freq(re_str, ignore.case=FALSE), 
                                             grepl(".", pattern))))
        #grep("N Weaver", txt_vctr, value=TRUE, ignore.case=FALSE)        
    }    

    for (txt_var in glb_txt_vars) {
        re_str <- "\\b(North|South|East|West|Central)( |\\.)(\\w)+"
        print(sprintf("Remaining #%s# terms in %s: ", re_str, txt_var))        
        txt_vctr <- glb_txt_lst[[txt_var]]
        if (nrow(filtered_df <- subset(chk_pattern_freq(re_str, ignore.case=FALSE), 
                                             grepl(".", pattern))) > 0)
            print(orderBy(~ -.n +pattern, filtered_df))
        #grep("Central (African|Bankers|Cast|Italy|Role|Spring)", txt_vctr, value=TRUE, ignore.case=FALSE)
        #grep("East (Africa|Berlin|London|Poland|Rivals|Spring)", txt_vctr, value=TRUE, ignore.case=FALSE)
        #grep("North (American|Korean|West)", txt_vctr, value=TRUE, ignore.case=FALSE)        
        #grep("South (Pacific|Street)", txt_vctr, value=TRUE, ignore.case=FALSE)
        #grep("St\\. Martins", txt_vctr, value=TRUE, ignore.case=FALSE)
    }    

    find_cmpnd_wrds <- function(txt_vctr) {
        txt_corpus <- Corpus(VectorSource(txt_vctr))
        txt_corpus <- tm_map(txt_corpus, content_transformer(tolower), lazy=TRUE)
        txt_corpus <- tm_map(txt_corpus, PlainTextDocument, lazy=TRUE)
        txt_corpus <- tm_map(txt_corpus, removePunctuation, lazy=TRUE, 
                             preserve_intra_word_dashes=TRUE, lazy=TRUE)
        full_Tf_DTM <- DocumentTermMatrix(txt_corpus, 
                                          control=list(weighting=weightTf))
        print("   Full TermMatrix:"); print(full_Tf_DTM)
        full_Tf_mtrx <- as.matrix(full_Tf_DTM)
        rownames(full_Tf_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
        full_Tf_vctr <- colSums(full_Tf_mtrx)
        names(full_Tf_vctr) <- dimnames(full_Tf_DTM)[[2]]
        #grep("year", names(full_Tf_vctr), value=TRUE)
        #which.max(full_Tf_mtrx[, "yearlong"])
        full_Tf_df <- as.data.frame(full_Tf_vctr)
        names(full_Tf_df) <- "Tf.full"
        full_Tf_df$term <- rownames(full_Tf_df)
        #full_Tf_df$freq.full <- colSums(full_Tf_mtrx != 0)
        full_Tf_df <- orderBy(~ -Tf.full, full_Tf_df)
        cmpnd_Tf_df <- full_Tf_df[grep("-", full_Tf_df$term, value=TRUE) ,]
        
        txt_compound_filename <- paste0(glb_txt_munge_filenames_pfx, "compound.csv")
        if (!file.exists(txt_compound_filename))
            stop(txt_compound_filename, " not found!")
        filter_df <- read.csv(txt_compound_filename, comment.char="#", strip.white=TRUE)
        cmpnd_Tf_df$filter <- FALSE
        for (row_ix in 1:nrow(filter_df))
            cmpnd_Tf_df[!cmpnd_Tf_df$filter, "filter"] <- 
            grepl(filter_df[row_ix, "rex_str"], 
                  cmpnd_Tf_df[!cmpnd_Tf_df$filter, "term"], ignore.case=TRUE)
        cmpnd_Tf_df <- subset(cmpnd_Tf_df, !filter)
        # Bug in tm_map(txt_corpus, removePunctuation, preserve_intra_word_dashes=TRUE) ???
        #   "net-a-porter" gets converted to "net-aporter"
        #grep("net-a-porter", txt_vctr, ignore.case=TRUE, value=TRUE)
        #grep("maser-laser", txt_vctr, ignore.case=TRUE, value=TRUE)
        #txt_corpus[[which(grepl("net-a-porter", txt_vctr, ignore.case=TRUE))]]
        #grep("\\b(across|longer)-(\\w)", cmpnd_Tf_df$term, ignore.case=TRUE, value=TRUE)
        #grep("(\\w)-(affected|term)\\b", cmpnd_Tf_df$term, ignore.case=TRUE, value=TRUE)
        
        print(sprintf("nrow(cmpnd_Tf_df): %d", nrow(cmpnd_Tf_df)))
        myprint_df(cmpnd_Tf_df)
    }

    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
            paste0("extract.features_", "process.text_reporting_compound_terms"), major.inc=FALSE)
    
    for (txt_var in glb_txt_vars) {
        print(sprintf("Remaining compound terms in %s: ", txt_var))        
        txt_vctr <- glb_txt_lst[[txt_var]]                        
#         find_cmpnd_wrds(txt_vctr)
        #grep("thirty-five", txt_vctr, ignore.case=TRUE, value=TRUE)
        #rex_str <- glb_txt_map_df[grepl("hirty", glb_txt_map_df$rex_str), "rex_str"]
    }

    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
            paste0("extract.features_", "build.corpus"), major.inc=TRUE)
    
    get_DTM_terms <- function(DTM) {
        TfIdf_mtrx <- as.matrix(DTM)
        rownames(TfIdf_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
        TfIdf_vctr <- colSums(TfIdf_mtrx)
        names(TfIdf_vctr) <- dimnames(DTM)[[2]]
        TfIdf_df <- as.data.frame(TfIdf_vctr)
        names(TfIdf_df) <- "TfIdf"
        TfIdf_df$term <- rownames(TfIdf_df)
        TfIdf_df$freq <- colSums(TfIdf_mtrx != 0)
        TfIdf_df$pos <- 1:nrow(TfIdf_df)
        return(TfIdf_df <- orderBy(~ -TfIdf, TfIdf_df))
    }
    get_corpus_terms <- function(txt_corpus) {
        TfIdf_DTM <- DocumentTermMatrix(txt_corpus, 
                                        control=list(weighting=weightTfIdf))
        return(TfIdf_df <- get_DTM_terms(TfIdf_DTM))
    }
    
#stop(here")    
    glb_corpus_lst <- list()
    print(sprintf("Building glb_corpus_lst..."))
    glb_corpus_lst <- foreach(txt_var=glb_txt_vars) %dopar% {   
    # for (txt_var in glb_txt_vars) {
        txt_corpus <- Corpus(VectorSource(glb_txt_lst[[txt_var]]))
        #tolower Not needed as of version 0.6.2 ?
        txt_corpus <- tm_map(txt_corpus, PlainTextDocument, lazy=FALSE)
        txt_corpus <- tm_map(txt_corpus, content_transformer(tolower), lazy=FALSE) #nuppr
        # removePunctuation does not replace with whitespace. Use a custom transformer ???
        txt_corpus <- tm_map(txt_corpus, removePunctuation, lazy=TRUE) #npnct<chr_ix>
#         txt-corpus <- tm_map(txt_corpus, content_transformer(function(x, pattern) gsub(pattern, "", x))   
        txt_corpus <- tm_map(txt_corpus, removeWords, 
                             c(glb_append_stop_words[[txt_var]], 
                               stopwords("english")), lazy=TRUE) #nstopwrds
        #print("StoppedWords:"); stopped_words_TfIdf_df <- inspect_terms(txt_corpus)
        #stopped_words_TfIdf_df[grepl("cond", stopped_words_TfIdf_df$term, ignore.case=TRUE), ]
        #txt_X_mtrx <- as.matrix(DocumentTermMatrix(txt_corpus, control=list(weighting=weightTfIdf)))
        #which(txt_X_mtrx[, 211] > 0)
        #glb_allobs_df[which(txt_X_mtrx[, 211] > 0), glb_txt_vars]        
        #txt_X_mtrx[2159, txt_X_mtrx[2159, ] > 0]
        
        # txt_corpus <- tm_map(txt_corpus, stemDocument, "english", lazy=TRUE) #Done below
        #txt_corpus <- tm_map(txt_corpus, content_transformer(stemDocument))        
        #print("StemmedWords:"); stemmed_words_TfIdf_df <- inspect_terms(txt_corpus)
        #stemmed_words_TfIdf_df[grepl("cond", stemmed_words_TfIdf_df$term, ignore.case=TRUE), ]
        #stm_X_mtrx <- as.matrix(DocumentTermMatrix(txt_corpus, control=list(weighting=weightTfIdf)))
        #glb_allobs_df[which((stm_X_mtrx[, 180] > 0) | (stm_X_mtrx[, 181] > 0)), glb_txt_vars]
        #glb_allobs_df[which((stm_X_mtrx[, 181] > 0)), glb_txt_vars]

        # glb_corpus_lst[[txt_var]] <- txt_corpus
    }
    names(glb_corpus_lst) <- glb_txt_vars
    
#stop(here")        
    glb_post_stop_words_terms_df_lst <- list(); 
    glb_post_stop_words_TfIdf_mtrx_lst <- list();     
    glb_post_stem_words_terms_df_lst <- list(); 
    glb_post_stem_words_TfIdf_mtrx_lst <- list();     
    for (txt_var in glb_txt_vars) {
        print(sprintf("    Top_n stop TfIDf terms for %s:", txt_var))
        # This impacts stemming probably due to lazy parameter
        print(myprint_df(full_TfIdf_df <- get_corpus_terms(glb_corpus_lst[[txt_var]]), 
                   glb_top_n[[txt_var]]))
        glb_post_stop_words_terms_df_lst[[txt_var]] <- full_TfIdf_df
        TfIdf_stop_mtrx <- as.matrix(DocumentTermMatrix(glb_corpus_lst[[txt_var]], 
                                        control=list(weighting=weightTfIdf)))
        rownames(TfIdf_stop_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
        glb_post_stop_words_TfIdf_mtrx_lst[[txt_var]] <- TfIdf_stop_mtrx
        
        tmp_allobs_df <- glb_allobs_df[, c(glb_id_var, glb_rsp_var)]
        tmp_allobs_df$terms.n.post.stop <- rowSums(TfIdf_stop_mtrx > 0)
        tmp_allobs_df$terms.n.post.stop.log <- log(1 + tmp_allobs_df$terms.n.post.stop)
        tmp_allobs_df$TfIdf.sum.post.stop <- rowSums(TfIdf_stop_mtrx)        
        
        print(sprintf("    Top_n stem TfIDf terms for %s:", txt_var))        
        glb_corpus_lst[[txt_var]] <- tm_map(glb_corpus_lst[[txt_var]], stemDocument,
                                            "english", lazy=TRUE) #Features ???
        print(myprint_df(full_TfIdf_df <- get_corpus_terms(glb_corpus_lst[[txt_var]]), 
                   glb_top_n[[txt_var]]))
        glb_post_stem_words_terms_df_lst[[txt_var]] <- full_TfIdf_df        
        TfIdf_stem_mtrx <- as.matrix(DocumentTermMatrix(glb_corpus_lst[[txt_var]], 
                                        control=list(weighting=weightTfIdf)))
        rownames(TfIdf_stem_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
        glb_post_stem_words_TfIdf_mtrx_lst[[txt_var]] <- TfIdf_stem_mtrx
        
        tmp_allobs_df$terms.n.post.stem <- rowSums(TfIdf_stem_mtrx > 0)
        tmp_allobs_df$terms.n.post.stem.log <- log(1 + tmp_allobs_df$terms.n.post.stem)
        tmp_allobs_df$TfIdf.sum.post.stem <- rowSums(TfIdf_stem_mtrx)
        
        tmp_allobs_df$terms.n.stem.stop.Ratio <- 
            1.0 * tmp_allobs_df$terms.n.post.stem / tmp_allobs_df$terms.n.post.stop
        tmp_allobs_df[is.nan(tmp_allobs_df$terms.n.stem.stop.Ratio), 
                      "terms.n.stem.stop.Ratio"] <- 1.0                
        tmp_allobs_df$TfIdf.sum.stem.stop.Ratio <- 
            1.0 * tmp_allobs_df$TfIdf.sum.post.stem / tmp_allobs_df$TfIdf.sum.post.stop
        tmp_allobs_df[is.nan(tmp_allobs_df$TfIdf.sum.stem.stop.Ratio), 
                      "TfIdf.sum.stem.stop.Ratio"] <- 1.0                
        
        tmp_trnobs_df <- tmp_allobs_df[!is.na(tmp_allobs_df[, glb_rsp_var]), ]
        print(cor(as.matrix(tmp_trnobs_df[, -c(1, 2)]), 
                  as.numeric(tmp_trnobs_df[, glb_rsp_var])))
        
        txt_var_pfx <- toupper(substr(txt_var, 1, 1))
        tmp_allobs_df <- tmp_allobs_df[, -c(1, 2)]
        names(tmp_allobs_df) <- paste(paste0(txt_var_pfx, "."), names(tmp_allobs_df),
                                      sep="")
        glb_allobs_df <- cbind(glb_allobs_df, tmp_allobs_df)
        glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, 
            paste(txt_var_pfx, c("terms.n.post.stop", "terms.n.post.stem")))
    }
    
    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
            paste0("extract.features_", "extract.DTM"), major.inc=TRUE)

#stop(here")    
    glb_full_DTM_lst <- list(); glb_sprs_DTM_lst <- list();
    for (txt_var in glb_txt_vars) {
        print(sprintf("Extracting TfIDf terms for %s...", txt_var))        
        txt_corpus <- glb_corpus_lst[[txt_var]]
        
#         full_Tf_DTM <- DocumentTermMatrix(txt_corpus, 
#                                           control=list(weighting=weightTf))
        full_TfIdf_DTM <- DocumentTermMatrix(txt_corpus, 
                                          control=list(weighting=weightTfIdf))
        sprs_TfIdf_DTM <- removeSparseTerms(full_TfIdf_DTM, 
                                            glb_sprs_thresholds[txt_var])
        
#         glb_full_DTM_lst[[txt_var]] <- full_Tf_DTM
#         glb_sprs_DTM_lst[[txt_var]] <- sprs_Tf_DTM
        glb_full_DTM_lst[[txt_var]] <- full_TfIdf_DTM
        glb_sprs_DTM_lst[[txt_var]] <- sprs_TfIdf_DTM
    }

    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
            paste0("extract.features_", "report.DTM"), major.inc=TRUE)

    require(reshape2)
    for (txt_var in glb_txt_vars) {
        print(sprintf("Reporting TfIDf terms for %s...", txt_var))        
        full_TfIdf_DTM <- glb_full_DTM_lst[[txt_var]]
        sprs_TfIdf_DTM <- glb_sprs_DTM_lst[[txt_var]]        

        print("   Full TermMatrix:"); print(full_TfIdf_DTM)
        full_TfIdf_df <- get_DTM_terms(full_TfIdf_DTM)
        full_TfIdf_df <- full_TfIdf_df[, c(2, 1, 3, 4)]
        col_names <- names(full_TfIdf_df)
        col_names[2:length(col_names)] <- 
            paste(col_names[2:length(col_names)], ".full", sep="")
        names(full_TfIdf_df) <- col_names
#         full_TfIdf_mtrx <- as.matrix(full_TfIdf_DTM)
#         rownames(full_TfIdf_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
#         full_TfIdf_vctr <- colSums(full_TfIdf_mtrx)
#         names(full_TfIdf_vctr) <- dimnames(full_TfIdf_DTM)[[2]]
#         full_TfIdf_df <- as.data.frame(full_TfIdf_vctr)
#         names(full_TfIdf_df) <- "TfIdf.full"
#         full_TfIdf_df$term <- rownames(full_TfIdf_df)
#         full_TfIdf_df$freq.full <- colSums(full_TfIdf_mtrx != 0)
#         full_TfIdf_df <- orderBy(~ -TfIdf.full, full_TfIdf_df)

        print("   Sparse TermMatrix:"); print(sprs_TfIdf_DTM)
        sprs_TfIdf_df <- get_DTM_terms(sprs_TfIdf_DTM)
        sprs_TfIdf_df <- sprs_TfIdf_df[, c(2, 1, 3, 4)]
        col_names <- names(sprs_TfIdf_df)
        col_names[2:length(col_names)] <- 
            paste(col_names[2:length(col_names)], ".sprs", sep="")
        names(sprs_TfIdf_df) <- col_names
#         sprs_TfIdf_vctr <- colSums(as.matrix(sprs_TfIdf_DTM))
#         names(sprs_TfIdf_vctr) <- dimnames(sprs_TfIdf_DTM)[[2]]
#         sprs_TfIdf_df <- as.data.frame(sprs_TfIdf_vctr)
#         names(sprs_TfIdf_df) <- "TfIdf.sprs"
#         sprs_TfIdf_df$term <- rownames(sprs_TfIdf_df)
#         sprs_TfIdf_df$freq.sprs <- colSums(as.matrix(sprs_TfIdf_DTM) != 0)        
#         sprs_TfIdf_df <- orderBy(~ -TfIdf.sprs, sprs_TfIdf_df)
        
        terms_TfIdf_df <- merge(full_TfIdf_df, sprs_TfIdf_df, all.x=TRUE)
        terms_TfIdf_df$in.sprs <- !is.na(terms_TfIdf_df$freq.sprs)
        plt_TfIdf_df <- subset(terms_TfIdf_df, 
                               TfIdf.full >= min(terms_TfIdf_df$TfIdf.sprs, na.rm=TRUE))
        plt_TfIdf_df$label <- ""
        plt_TfIdf_df[is.na(plt_TfIdf_df$TfIdf.sprs), "label"] <- 
            plt_TfIdf_df[is.na(plt_TfIdf_df$TfIdf.sprs), "term"]
#         glb_important_terms[[txt_var]] <- union(glb_important_terms[[txt_var]],
#             plt_TfIdf_df[is.na(plt_TfIdf_df$TfIdf.sprs), "term"])
        print(myplot_scatter(plt_TfIdf_df, "freq.full", "TfIdf.full", 
                             colorcol_name="in.sprs") + 
                  geom_text(aes(label=label), color="Black", size=3.5))
        
        melt_TfIdf_df <- orderBy(~ -value, melt(terms_TfIdf_df, id.var="term"))
        print(ggplot(melt_TfIdf_df, aes(value, color=variable)) + stat_ecdf() + 
                  geom_hline(yintercept=glb_sprs_thresholds[txt_var], 
                             linetype = "dotted"))
        
        melt_TfIdf_df <- orderBy(~ -value, 
                        melt(subset(terms_TfIdf_df, !is.na(TfIdf.sprs)), id.var="term"))
        print(myplot_hbar(melt_TfIdf_df, "term", "value", 
                          colorcol_name="variable"))
        
        melt_TfIdf_df <- orderBy(~ -value, 
                        melt(subset(terms_TfIdf_df, is.na(TfIdf.sprs)), id.var="term"))
        print(myplot_hbar(head(melt_TfIdf_df, 10), "term", "value", 
                          colorcol_name="variable"))
    }

#     sav_full_DTM_lst <- glb_full_DTM_lst
#     sav_sprs_DTM_lst <- glb_sprs_DTM_lst
#     print(identical(sav_glb_corpus_lst, glb_corpus_lst))
#     print(all.equal(length(sav_glb_corpus_lst), length(glb_corpus_lst)))
#     print(all.equal(names(sav_glb_corpus_lst), names(glb_corpus_lst)))
#     print(all.equal(sav_glb_corpus_lst[["Headline"]], glb_corpus_lst[["Headline"]]))

#     print(identical(sav_full_DTM_lst, glb_full_DTM_lst))
#     print(identical(sav_sprs_DTM_lst, glb_sprs_DTM_lst))
        
    rm(full_TfIdf_mtrx, full_TfIdf_df, melt_TfIdf_df, terms_TfIdf_df)

    # Create txt features
    if ((length(glb_txt_vars) > 1) &&
        (length(unique(pfxs <- sapply(glb_txt_vars, 
                    function(txt) toupper(substr(txt, 1, 1))))) < length(glb_txt_vars)))
            stop("Prefixes for corpus freq terms not unique: ", pfxs)
    
    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
                            paste0("extract.features_", "bind.DTM"), 
                                         major.inc=TRUE)
#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df            
    for (txt_var in glb_txt_vars) {
        print(sprintf("Binding DTM for %s...", txt_var))
        txt_var_pfx <- toupper(substr(txt_var, 1, 1))
        
        txt_full_X_df <- as.data.frame(as.matrix(glb_full_DTM_lst[[txt_var]]))
        terms_full_df <- get_DTM_terms(glb_full_DTM_lst[[txt_var]])        
        colnames(txt_full_X_df) <- paste(txt_var_pfx, ".T.",
                                    make.names(colnames(txt_full_X_df)), sep="")
        rownames(txt_full_X_df) <- rownames(glb_allobs_df) # warning otherwise
        
        if (glb_filter_txt_terms == "sparse") {
            txt_X_df <- as.data.frame(as.matrix(glb_sprs_DTM_lst[[txt_var]]))
            colnames(txt_X_df) <- paste(txt_var_pfx, ".T.",
                                        make.names(colnames(txt_X_df)), sep="")
            rownames(txt_X_df) <- rownames(glb_allobs_df) # warning otherwise
        } else if (glb_filter_txt_terms == "top") {
            txt_X_df <- txt_full_X_df[, terms_full_df$pos[1:glb_top_n[[txt_var]]], FALSE]
        } else stop("glb_filter_txt_terms should be one of c('sparse', 'top') vs. '",
                    glb_filter_txt_terms, "'")    
        
        glb_allobs_df <- cbind(glb_allobs_df, txt_X_df) # TfIdf is normalized
        #glb_allobs_df <- cbind(glb_allobs_df, log_X_df) # if using non-normalized metrics 
    }
    #identical(chk_entity_df, glb_allobs_df)
    #chk_entity_df <- glb_allobs_df

    extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, 
                            paste0("extract.features_", "bind.DXM"), 
                                         major.inc=TRUE)

#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
    glb_punct_vctr <- c("!", "\"", "#", "\\$", "%", "&", "'", 
                        "\\(|\\)",# "\\(", "\\)", 
                        "\\*", "\\+", ",", "-", "\\.", "/", ":", ";", 
                        "<|>", # "<", 
                        "=", 
                        # ">", 
                        "\\?", "@", "\\[", "\\\\", "\\]", "^", "_", "`", 
                        "\\{", "\\|", "\\}", "~")
    txt_X_df <- glb_allobs_df[, c(glb_id_var, ".rnorm"), FALSE]
    txt_X_df <- foreach(txt_var=glb_txt_vars, .combine=cbind) %dopar% {   
    #for (txt_var in glb_txt_vars) {
        print(sprintf("Binding DXM for %s...", txt_var))
        txt_var_pfx <- toupper(substr(txt_var, 1, 1))        

        txt_full_DTM_mtrx <- as.matrix(glb_full_DTM_lst[[txt_var]])
        rownames(txt_full_DTM_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
        #print(txt_full_DTM_mtrx[txt_full_DTM_mtrx[, "ebola"] != 0, "ebola"])
        
        # Create <txt_var>.T.<term> for glb_important_terms
        for (term in glb_important_terms[[txt_var]])
            txt_X_df[, paste0(txt_var_pfx, ".T.", make.names(term))] <- 
                txt_full_DTM_mtrx[, term]
                
        # Create <txt_var>.nwrds.log & .nwrds.unq.log
        txt_X_df[, paste0(txt_var_pfx, ".nwrds.log")] <- 
            log(1 + mycount_pattern_occ("\\w+", glb_txt_lst[[txt_var]]))
        txt_X_df[, paste0(txt_var_pfx, ".nwrds.unq.log")] <- 
            log(1 + rowSums(txt_full_DTM_mtrx != 0))
        txt_X_df[, paste0(txt_var_pfx, ".sum.TfIdf")] <- 
            rowSums(txt_full_DTM_mtrx) 
        txt_X_df[, paste0(txt_var_pfx, ".ratio.sum.TfIdf.nwrds")] <- 
            txt_X_df[, paste0(txt_var_pfx, ".sum.TfIdf")] / 
            (exp(txt_X_df[, paste0(txt_var_pfx, ".nwrds.log")]) - 1)
        txt_X_df[is.nan(txt_X_df[, paste0(txt_var_pfx, ".ratio.sum.TfIdf.nwrds")]),
                 paste0(txt_var_pfx, ".ratio.sum.TfIdf.nwrds")] <- 0

        # Create <txt_var>.nchrs.log
        txt_X_df[, paste0(txt_var_pfx, ".nchrs.log")] <- 
            log(1 + mycount_pattern_occ(".", glb_allobs_df[, txt_var]))
        txt_X_df[, paste0(txt_var_pfx, ".nuppr.log")] <- 
            log(1 + mycount_pattern_occ("[[:upper:]]", glb_allobs_df[, txt_var]))
        txt_X_df[, paste0(txt_var_pfx, ".ndgts.log")] <- 
            log(1 + mycount_pattern_occ("[[:digit:]]", glb_allobs_df[, txt_var]))

        # Create <txt_var>.npnct?.log
        # would this be faster if it's iterated over each row instead of 
        #   each created column ???
        for (punct_ix in 1:length(glb_punct_vctr)) { 
#             smp0 <- " "
#             smp1 <- "! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~"
#             smp2 <- paste(smp1, smp1, sep=" ")
#             print(sprintf("Testing %s pattern:", glb_punct_vctr[punct_ix])) 
#             results <- mycount_pattern_occ(glb_punct_vctr[punct_ix], c(smp0, smp1, smp2))
#             names(results) <- NULL; print(results)
            txt_X_df[, 
                paste0(txt_var_pfx, ".npnct", sprintf("%02d", punct_ix), ".log")] <-
                log(1 + mycount_pattern_occ(glb_punct_vctr[punct_ix], 
                                            glb_allobs_df[, txt_var]))
        }
#         print(head(glb_allobs_df[glb_allobs_df[, "A.npnct23.log"] > 0, 
#                                     c("UniqueID", "Popular", "Abstract", "A.npnct23.log")]))    
        
        # Create <txt_var>.nstopwrds.log & <txt_var>ratio.nstopwrds.nwrds
        stop_words_rex_str <- paste0("\\b(", paste0(c(glb_append_stop_words[[txt_var]], 
                                       stopwords("english")), collapse="|"),
                                     ")\\b")
        txt_X_df[, paste0(txt_var_pfx, ".nstopwrds", ".log")] <-
            log(1 + mycount_pattern_occ(stop_words_rex_str, glb_txt_lst[[txt_var]]))
        txt_X_df[, paste0(txt_var_pfx, ".ratio.nstopwrds.nwrds")] <-
            exp(txt_X_df[, paste0(txt_var_pfx, ".nstopwrds", ".log")] - 
                txt_X_df[, paste0(txt_var_pfx, ".nwrds", ".log")])

        # Create <txt_var>.P.http
        txt_X_df[, paste(txt_var_pfx, ".P.http", sep="")] <- 
            as.integer(0 + mycount_pattern_occ("http", glb_allobs_df[, txt_var]))    
    
        # Create <txt_var>.P.mini & air
        txt_X_df[, paste(txt_var_pfx, ".P.mini", sep="")] <- 
            as.integer(0 + mycount_pattern_occ("mini(?!m)", glb_allobs_df[, txt_var],
                                               perl=TRUE))    
        txt_X_df[, paste(txt_var_pfx, ".P.air", sep="")] <- 
            as.integer(0 + mycount_pattern_occ("(?<![fhp])air", glb_allobs_df[, txt_var],
                                               perl=TRUE))    
    
        txt_X_df <- subset(txt_X_df, select=-.rnorm)
        txt_X_df <- txt_X_df[, -grep(glb_id_var, names(txt_X_df), fixed=TRUE), FALSE]
        #glb_allobs_df <- cbind(glb_allobs_df, txt_X_df)
    }
    glb_allobs_df <- cbind(glb_allobs_df, txt_X_df)
    #myplot_box(glb_allobs_df, "A.sum.TfIdf", glb_rsp_var)
    
#     if (sum(is.na(glb_allobs_df$D.P.http)) > 0)
#         stop("Why is this happening ?")

    # Generate summaries
#     print(summary(glb_allobs_df))
#     print(sapply(names(glb_allobs_df), function(col) sum(is.na(glb_allobs_df[, col]))))
#     print(summary(glb_trnobs_df))
#     print(sapply(names(glb_trnobs_df), function(col) sum(is.na(glb_trnobs_df[, col]))))
#     print(summary(glb_newobs_df))
#     print(sapply(names(glb_newobs_df), function(col) sum(is.na(glb_newobs_df[, col]))))

    glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, 
                                          glb_txt_vars)
    rm(log_X_df, txt_X_df)
}
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: stringr
## Loading required package: tm
## Loading required package: NLP
## 
## Attaching package: 'NLP'
## 
## The following object is masked from 'package:ggplot2':
## 
##     annotate
##                                 label step_major step_minor    bgn    end
## 2 extract.features_factorize.str.vars          2          0 14.734 15.983
## 3       extract.features_process.text          3          0 15.983     NA
##   elapsed
## 2   1.249
## 3      NA
## [1] "Building glb_txt_lst..."
## [1] "running gsub for 10 (of 178): #\\bCentral African Republic\\b#..."
## [1] "running gsub for 20 (of 178): #\\bAlejandro G\\. I&ntilde;&aacute;rritu#..."
## [1] "running gsub for 30 (of 178): #\\bC\\.A\\.A\\.#..."
## [1] "running gsub for 40 (of 178): #\\bCV\\.#..."
## [1] "running gsub for 50 (of 178): #\\bE\\.P\\.A\\.#..."
## [1] "running gsub for 60 (of 178): #\\bG\\.I\\. Joe#..."
## [1] "running gsub for 70 (of 178): #\\bISIS\\.#..."
## [1] "running gsub for 80 (of 178): #\\bJ\\.K\\. Simmons#..."
## [1] "running gsub for 90 (of 178): #\\bM\\. Henri Pol#..."
## [1] "running gsub for 100 (of 178): #\\bN\\.Y\\.S\\.E\\.#..."
## [1] "running gsub for 110 (of 178): #\\bR\\.B\\.S\\.#..."
## [1] "running gsub for 120 (of 178): #\\bSteven A\\. Cohen#..."
## [1] "running gsub for 130 (of 178): #\\bV\\.A\\.#..."
## [1] "running gsub for 140 (of 178): #\\bWall Street#..."
## [1] "running gsub for 150 (of 178): #\\bSaint( |-)((Laurent|Lucia)\\b)+#..."
## [1] "running gsub for 160 (of 178): #\\bSouth( |\\\\.)(America|American|Africa|African|Carolina|Dakota|Korea|Korean|Sudan)\\b#..."
## [1] "running gsub for 170 (of 178): #(\\w)-a-year#..."
## [1] "Remaining OK in descr.my:"
## Loading required package: sqldf
## Loading required package: RSQLite
## Loading required package: DBI
## Loading required package: tcltk
##   pattern .n
## 1      OK  6
## [[1]]
## [1] 3
## attr(,"match.length")
## [1] 2
## attr(,"useBytes")
## [1] TRUE
## attr(,"capture.start")
##         
## [1,] 0 0
## attr(,"capture.length")
##         
## [1,] 0 0
## attr(,"capture.names")
## [1] "" ""
## 
## [1] "ROKEN: Device has at least one or more problems: \nFor Parts or Repair"
## [[1]]
## [1] 3
## attr(,"match.length")
## [1] 2
## attr(,"useBytes")
## [1] TRUE
## attr(,"capture.start")
##         
## [1,] 0 0
## attr(,"capture.length")
##         
## [1,] 0 0
## attr(,"capture.names")
## [1] "" ""
## 
## [1] "ROKEN DEVICE: Problem with Apple ID"
## [[1]]
## [1] 3
## attr(,"match.length")
## [1] 2
## attr(,"useBytes")
## [1] TRUE
## attr(,"capture.start")
##         
## [1,] 0 0
## attr(,"capture.length")
##         
## [1,] 0 0
## attr(,"capture.names")
## [1] "" ""
## 
## [1] "ROKEN: Device has at least one or more problems: \nFor Parts or Repair"
## [[1]]
## [1] 3
## attr(,"match.length")
## [1] 2
## attr(,"useBytes")
## [1] TRUE
## attr(,"capture.start")
##         
## [1,] 0 0
## attr(,"capture.length")
##         
## [1,] 0 0
## attr(,"capture.names")
## [1] "" ""
## 
## [1] "ROKEN: Device has at least one or more problems: \nFor Parts or Repair"
## [[1]]
## [1] 3
## attr(,"match.length")
## [1] 2
## attr(,"useBytes")
## [1] TRUE
## attr(,"capture.start")
##         
## [1,] 0 0
## attr(,"capture.length")
##         
## [1,] 0 0
## attr(,"capture.names")
## [1] "" ""
## 
## [1] "ROKEN: Device has at least one or more problems: \nFor Parts or Repair"
## [[1]]
## [1] 3
## attr(,"match.length")
## [1] 2
## attr(,"useBytes")
## [1] TRUE
## attr(,"capture.start")
##         
## [1,] 0 0
## attr(,"capture.length")
##         
## [1,] 0 0
## attr(,"capture.names")
## [1] "" ""
## 
## [1] "ROKEN SCREEN"
## [1] pattern .n     
## <0 rows> (or 0-length row.names)
## [1] pattern .n     
## <0 rows> (or 0-length row.names)
## [1] "Remaining Acronyms in descr.my:"
## [1] pattern .n     
## <0 rows> (or 0-length row.names)
##        pattern .n
## 1  CONDITION.   8
## 2        ONLY.  6
## 3         GB.   4
## 4       BOX.    2
## 5     CORNER.   2
## 6         ESN.  2
## 7       GOOD.   2
## 8     ICLOUD.   2
## 9       IPADS.  2
## 10    LOCKED.   2
## 11     LOCKS.   2
## 12      ONLY.   2
## 13 SCRATCHES.   2
## 14    TEARS.    2
## 15       USE.   2
## [1] "Remaining #\\b(Fort|Ft\\.|Hong|Las|Los|New|Puerto|Saint|San|St\\.)( |-)(\\w)+# terms in descr.my: "
##          pattern .n
## 2       New Open  3
## 4  New Condition  2
## 7  New Digitizer  1
## 8     New Opened  1
## 9    New Scratch  1
## 10    New Screen  1
## [1] "    consider cleaning if relevant to problem domain; geography name; .n > 1"
## [1] "Remaining #\\b(N|S|E|W|C)( |\\.)(\\w)+# terms in descr.my: "
##   pattern .n
## 1 C Stock  3
## 2  W blue  1
## [1] "Remaining #\\b(North|South|East|West|Central)( |\\.)(\\w)+# terms in descr.my: "
##                                                    label step_major
## 3                          extract.features_process.text          3
## 4 extract.features_process.text_reporting_compound_terms          3
##   step_minor    bgn   end elapsed
## 3          0 15.983 18.02   2.037
## 4          1 18.021    NA      NA
## [1] "Remaining compound terms in descr.my: "
##                                                    label step_major
## 4 extract.features_process.text_reporting_compound_terms          3
## 5                          extract.features_build.corpus          4
##   step_minor    bgn    end elapsed
## 4          1 18.021 18.025   0.004
## 5          0 18.026     NA      NA
## [1] "Building glb_corpus_lst..."
## [1] "    Top_n stop TfIDf terms for descr.my:"
## Warning in weighting(x): empty document(s): character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) charact
## [1] "Rows: 729; Cols: 4"
##              TfIdf      term freq pos
## condition 208.1205 condition  498 149
## new       125.5866       new  156 433
## used      123.4473      used  240 695
## good      120.9670      good  197 289
## scratches 114.0567 scratches  254 570
## screen    106.6170    screen  210 572
##              TfIdf     term freq pos
## scratch  30.068378  scratch   25 568
## days      6.562908     days    4 184
## taken     5.878172    taken    6 649
## outer     5.557938    outer    5 458
## lot       3.602633      lot    2 386
## greeting  2.075117 greeting    2 294
##                 TfIdf        term freq pos
## 975         1.1375583         975    1  16
## blemish     1.1375583     blemish    1  83
## cables      1.1375583      cables    1 106
## engravement 1.1375583 engravement    1 226
## handling    1.1375583    handling    1 304
## 79in        0.9479652        79in    1  15
##                 TfIdf        term freq pos
## 975         1.1375583         975    1  16
## blemish     1.1375583     blemish    1  83
## cables      1.1375583      cables    1 106
## engravement 1.1375583 engravement    1 226
## handling    1.1375583    handling    1 304
## 79in        0.9479652        79in    1  15
## Warning in weighting(x): empty document(s): character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) charact
## [1] "    Top_n stem TfIDf terms for descr.my:"
## Warning in weighting(x): empty document(s): character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) charact
## [1] "Rows: 588; Cols: 4"
##            TfIdf    term freq pos
## condit  208.1066  condit  496 122
## use     146.5910     use  291 559
## scratch 128.3886 scratch  286 457
## new     125.5866     new  156 346
## good    121.0564    good  197 233
## ipad    107.4871    ipad  232 275
##            TfIdf   term freq pos
## set    17.367419    set   14 469
## purpos  3.372064 purpos    2 418
## first   2.939748  first    2 206
## spent   2.635069  spent    2 503
## oem     2.275117    oem    1 355
## refund  1.421948 refund    1 434
##             TfIdf    term freq pos
## remot   1.2639536   remot    1 437
## ringer  1.2639536  ringer    1 450
## septemb 1.2639536 septemb    1 468
## site    1.2639536    site    1 487
## 975     1.1375583     975    1  16
## 79in    0.9479652    79in    1  15
##             TfIdf    term freq pos
## remot   1.2639536   remot    1 437
## ringer  1.2639536  ringer    1 450
## septemb 1.2639536 septemb    1 468
## site    1.2639536    site    1 487
## 975     1.1375583     975    1  16
## 79in    0.9479652    79in    1  15
## Warning in weighting(x): empty document(s): character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) charact
##                                  [,1]
## terms.n.post.stop         -0.08493199
## terms.n.post.stop.log     -0.10435993
## TfIdf.sum.post.stop       -0.12289243
## terms.n.post.stem         -0.08417074
## terms.n.post.stem.log     -0.10404513
## TfIdf.sum.post.stem       -0.12021745
## terms.n.stem.stop.Ratio    0.04445385
## TfIdf.sum.stem.stop.Ratio  0.09957967
##                           label step_major step_minor    bgn   end elapsed
## 5 extract.features_build.corpus          4          0 18.026 29.22  11.194
## 6  extract.features_extract.DTM          5          0 29.221    NA      NA
## [1] "Extracting TfIDf terms for descr.my..."
## Warning in weighting(x): empty document(s): character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) character(0) character(0) character(0) character(0)
## character(0) charact
##                          label step_major step_minor    bgn    end elapsed
## 6 extract.features_extract.DTM          5          0 29.221 30.543   1.322
## 7  extract.features_report.DTM          6          0 30.544     NA      NA
## Loading required package: reshape2
## [1] "Reporting TfIDf terms for descr.my..."
## [1] "   Full TermMatrix:"
## <<DocumentTermMatrix (documents: 2657, terms: 588)>>
## Non-/sparse entries: 8269/1554047
## Sparsity           : 99%
## Maximal term length: 16
## Weighting          : term frequency - inverse document frequency (normalized) (tf-idf)
## [1] "   Sparse TermMatrix:"
## <<DocumentTermMatrix (documents: 2657, terms: 8)>>
## Non-/sparse entries: 2069/19187
## Sparsity           : 90%
## Maximal term length: 7
## Weighting          : term frequency - inverse document frequency (normalized) (tf-idf)
## Warning in myplot_scatter(plt_TfIdf_df, "freq.full", "TfIdf.full",
## colorcol_name = "in.sprs"): converting in.sprs to class:factor

## Warning: Removed 6 rows containing missing values (geom_path).
## Warning: Removed 6 rows containing missing values (geom_path).
## Warning: Removed 6 rows containing missing values (geom_path).

## Warning in rm(full_TfIdf_mtrx, full_TfIdf_df, melt_TfIdf_df,
## terms_TfIdf_df): object 'full_TfIdf_mtrx' not found
##                         label step_major step_minor    bgn    end elapsed
## 7 extract.features_report.DTM          6          0 30.544 33.789   3.245
## 8   extract.features_bind.DTM          7          0 33.790     NA      NA
## [1] "Binding DTM for descr.my..."
##                       label step_major step_minor    bgn    end elapsed
## 8 extract.features_bind.DTM          7          0 33.790 34.218   0.429
## 9 extract.features_bind.DXM          8          0 34.219     NA      NA
## [1] "Binding DXM for descr.my..."
## Warning in rm(log_X_df, txt_X_df): object 'log_X_df' not found

#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
# dsp_obs(list(description.contains="mini(?!m)"), perl=TRUE, cols="D.P.mini", all=TRUE)
# dsp_obs(list(D.P.mini=1), cols="D.P.mini", all=TRUE)
# dsp_obs(list(D.P.mini=1, productline="Unknown"), cols="D.P.mini", all=TRUE)

# dsp_obs(list(description.contains="(?<![fhp])air"), perl=TRUE, all=TRUE)
# dsp_obs(list(description.contains="air"), perl=FALSE, cols="D.P.air", all=TRUE)
# dsp_obs(list(D.P.air=1, productline="Unknown"), cols="D.P.air", all=TRUE)

glb_allobs_df[(glb_allobs_df$D.P.mini == 1) & (glb_allobs_df$productline == "Unknown"), "prdline.my"] <- "iPad mini"
print(mycreate_sqlxtab_df(glb_allobs_df, c("prdline.my", "productline", "D.P.mini", glb_rsp_var)))
##            prdline.my      productline D.P.mini startprice .n
## 1              iPad 2           iPad 2        0       0.99 38
## 2           iPad mini        iPad mini        0       0.99 30
## 3             Unknown          Unknown        0       0.99 26
## 4              iPad 1           iPad 1        0       0.99 26
## 5              iPad 1           iPad 1        0      50.00 22
## 6           iPad mini        iPad mini        0     150.00 20
## 7            iPad Air         iPad Air        0       0.99 17
## 8              iPad 2           iPad 2        0     150.00 16
## 9              iPad 4           iPad 4        0       0.99 15
## 10          iPad mini        iPad mini        0     100.00 14
## 11             iPad 2           iPad 2        0     100.00 13
## 12         iPad Air 2       iPad Air 2        0       0.99 13
## 13        iPad mini 2      iPad mini 2        0       0.99 13
## 14             iPad 1           iPad 1        0      80.00 12
## 15             iPad 3           iPad 3        0       0.99 12
## 16             iPad 3           iPad 3        0     200.00 12
## 17             iPad 1           iPad 1        0      90.00 11
## 18             iPad 2           iPad 2        0     175.00 11
## 19            Unknown          Unknown        0     150.00 10
## 20             iPad 1           iPad 1        0      75.00 10
## 21             iPad 1           iPad 1        0     100.00 10
## 22             iPad 2           iPad 2        0       0.01 10
## 23             iPad 3           iPad 3        0     250.00 10
## 24          iPad mini        iPad mini        0      50.00 10
## 25          iPad mini        iPad mini        0      99.99 10
## 26            Unknown          Unknown        0     100.00  9
## 27             iPad 2           iPad 2        0      99.99  9
## 28             iPad 2           iPad 2        0     149.99  9
## 29             iPad 2           iPad 2        0     199.99  9
## 30           iPad Air         iPad Air        0     300.00  9
## 31          iPad mini        iPad mini        0     199.99  9
## 32            Unknown          Unknown        0     300.00  8
## 33             iPad 1           iPad 1        0      95.00  8
## 34             iPad 2           iPad 2        0      99.00  8
## 35             iPad 2           iPad 2        0     125.00  8
## 36             iPad 2           iPad 2        0     200.00  8
## 37             iPad 4           iPad 4        0     249.99  8
## 38         iPad Air 2       iPad Air 2        0     550.00  8
## 39          iPad mini        iPad mini        0     200.00  8
## 40        iPad mini 2      iPad mini 2        0     350.00  8
## 41            Unknown          Unknown        0      50.00  7
## 42             iPad 1           iPad 1        0      70.00  7
## 43             iPad 2           iPad 2        0       9.99  7
## 44             iPad 2           iPad 2        0      75.00  7
## 45             iPad 2           iPad 2        0     180.00  7
## 46             iPad 4           iPad 4        0     199.99  7
## 47          iPad mini        iPad mini        0      99.00  7
## 48        iPad mini 3      iPad mini 3        0       0.99  7
## 49             iPad 1           iPad 1        0       1.00  6
## 50             iPad 2           iPad 2        0      50.00  6
## 51             iPad 2           iPad 2        0     160.00  6
## 52             iPad 4           iPad 4        0     100.00  6
## 53             iPad 4           iPad 4        0     150.00  6
## 54             iPad 4           iPad 4        0     279.99  6
## 55           iPad Air         iPad Air        0       1.00  6
## 56           iPad Air         iPad Air        0     200.00  6
## 57           iPad Air         iPad Air        0     400.00  6
## 58         iPad Air 2       iPad Air 2        0     450.00  6
## 59          iPad mini        iPad mini        0      75.00  6
## 60          iPad mini        iPad mini        0      89.99  6
## 61          iPad mini        iPad mini        0     159.99  6
## 62          iPad mini        iPad mini        0     175.00  6
## 63             iPad 1           iPad 1        0      29.99  5
## 64             iPad 1           iPad 1        0      55.00  5
## 65             iPad 1           iPad 1        0      79.99  5
## 66             iPad 1           iPad 1        0      99.00  5
## 67             iPad 2           iPad 2        0      80.00  5
## 68             iPad 2           iPad 2        0     165.00  5
## 69             iPad 2           iPad 2        0     179.00  5
## 70             iPad 3           iPad 3        0      99.00  5
## 71             iPad 3           iPad 3        0     150.00  5
## 72             iPad 3           iPad 3        0     220.00  5
## 73             iPad 3           iPad 3        0     225.00  5
## 74             iPad 3           iPad 3        0     300.00  5
## 75             iPad 4           iPad 4        0     250.00  5
## 76             iPad 4           iPad 4        0     400.00  5
## 77           iPad Air         iPad Air        0     100.00  5
## 78           iPad Air         iPad Air        0     250.00  5
## 79           iPad Air         iPad Air        0     350.00  5
## 80           iPad Air         iPad Air        0     389.99  5
## 81         iPad Air 2       iPad Air 2        0     499.99  5
## 82          iPad mini        iPad mini        0       1.00  5
## 83          iPad mini        iPad mini        0     250.00  5
## 84          iPad mini        iPad mini        0     350.00  5
## 85        iPad mini 2      iPad mini 2        0     200.00  5
## 86        iPad mini 2      iPad mini 2        0     225.00  5
## 87            Unknown          Unknown        0      25.00  4
## 88            Unknown          Unknown        0     149.99  4
## 89            Unknown          Unknown        0     250.00  4
## 90             iPad 1           iPad 1        0      40.00  4
## 91             iPad 1           iPad 1        0      49.99  4
## 92             iPad 1           iPad 1        0      79.00  4
## 93             iPad 1           iPad 1        0     105.00  4
## 94             iPad 1           iPad 1        0     110.00  4
## 95             iPad 2           iPad 2        0       1.00  4
## 96             iPad 2           iPad 2        0      40.00  4
## 97             iPad 2           iPad 2        0      49.99  4
## 98             iPad 2           iPad 2        0     130.00  4
## 99             iPad 2           iPad 2        0     140.00  4
## 100            iPad 2           iPad 2        0     155.00  4
## 101            iPad 2           iPad 2        0     164.99  4
## 102            iPad 2           iPad 2        0     174.99  4
## 103            iPad 2           iPad 2        0     179.99  4
## 104            iPad 2           iPad 2        0     189.99  4
## 105            iPad 2           iPad 2        0     250.00  4
## 106            iPad 3           iPad 3        0       9.99  4
## 107            iPad 3           iPad 3        0     100.00  4
## 108            iPad 3           iPad 3        0     149.99  4
## 109            iPad 3           iPad 3        0     175.00  4
## 110            iPad 3           iPad 3        0     199.99  4
## 111            iPad 3           iPad 3        0     219.99  4
## 112            iPad 3           iPad 3        0     249.99  4
## 113            iPad 3           iPad 3        0     275.00  4
## 114            iPad 4           iPad 4        0       0.01  4
## 115            iPad 4           iPad 4        0      99.99  4
## 116            iPad 4           iPad 4        0     200.00  4
## 117            iPad 4           iPad 4        0     299.00  4
## 118          iPad Air         iPad Air        0     199.99  4
## 119          iPad Air         iPad Air        0     229.00  4
## 120          iPad Air         iPad Air        0     279.99  4
## 121          iPad Air         iPad Air        0     325.00  4
## 122          iPad Air         iPad Air        0     329.99  4
## 123          iPad Air         iPad Air        0     500.00  4
## 124        iPad Air 2       iPad Air 2        0     250.00  4
## 125        iPad Air 2       iPad Air 2        0     350.00  4
## 126        iPad Air 2       iPad Air 2        0     399.00  4
## 127        iPad Air 2       iPad Air 2        0     399.99  4
## 128        iPad Air 2       iPad Air 2        0     400.00  4
## 129        iPad Air 2       iPad Air 2        0     499.00  4
## 130        iPad Air 2       iPad Air 2        0     500.00  4
## 131        iPad Air 2       iPad Air 2        0     549.99  4
## 132         iPad mini        iPad mini        0     119.99  4
## 133         iPad mini        iPad mini        0     130.00  4
## 134         iPad mini        iPad mini        0     199.00  4
## 135         iPad mini        iPad mini        0     275.00  4
## 136         iPad mini        iPad mini        0     300.00  4
## 137         iPad mini        iPad mini        1       0.99  4
## 138       iPad mini 2      iPad mini 2        0     175.00  4
## 139       iPad mini 2      iPad mini 2        0     250.00  4
## 140       iPad mini 3      iPad mini 3        0     325.00  4
## 141       iPad mini 3      iPad mini 3        0     499.99  4
## 142       iPad mini 3      iPad mini 3        0     599.99  4
## 143           Unknown          Unknown        0      15.00  3
## 144           Unknown          Unknown        0      40.00  3
## 145           Unknown          Unknown        0      75.00  3
## 146           Unknown          Unknown        0      99.00  3
## 147           Unknown          Unknown        0     120.00  3
## 148           Unknown          Unknown        0     199.00  3
## 149           Unknown          Unknown        0     199.99  3
## 150           Unknown          Unknown        0     200.00  3
## 151           Unknown          Unknown        0     249.00  3
## 152           Unknown          Unknown        0     249.99  3
## 153           Unknown          Unknown        0     299.99  3
## 154           Unknown          Unknown        0     319.00  3
## 155           Unknown          Unknown        0     350.00  3
## 156            iPad 1           iPad 1        0       0.01  3
## 157            iPad 1           iPad 1        0      19.99  3
## 158            iPad 1           iPad 1        0      20.00  3
## 159            iPad 1           iPad 1        0      25.00  3
## 160            iPad 1           iPad 1        0      30.00  3
## 161            iPad 1           iPad 1        0      36.95  3
## 162            iPad 1           iPad 1        0      65.00  3
## 163            iPad 1           iPad 1        0      84.99  3
## 164            iPad 1           iPad 1        0      85.00  3
## 165            iPad 1           iPad 1        0      89.00  3
## 166            iPad 1           iPad 1        0      99.99  3
## 167            iPad 1           iPad 1        0     119.99  3
## 168            iPad 1           iPad 1        0     150.00  3
## 169            iPad 1           iPad 1        0     180.00  3
## 170            iPad 2           iPad 2        0      30.00  3
## 171            iPad 2           iPad 2        0      70.00  3
## 172            iPad 2           iPad 2        0      85.00  3
## 173            iPad 2           iPad 2        0      89.99  3
## 174            iPad 2           iPad 2        0      90.00  3
## 175            iPad 2           iPad 2        0     120.00  3
## 176            iPad 2           iPad 2        0     129.95  3
## 177            iPad 2           iPad 2        0     129.99  3
## 178            iPad 2           iPad 2        0     139.00  3
## 179            iPad 2           iPad 2        0     149.00  3
## 180            iPad 2           iPad 2        0     149.95  3
## 181            iPad 2           iPad 2        0     154.00  3
## 182            iPad 2           iPad 2        0     159.99  3
## 183            iPad 2           iPad 2        0     169.00  3
## 184            iPad 2           iPad 2        0     249.97  3
## 185            iPad 2           iPad 2        0     275.00  3
## 186            iPad 2           iPad 2        0     300.00  3
## 187            iPad 3           iPad 3        0       1.00  3
## 188            iPad 3           iPad 3        0      10.00  3
## 189            iPad 3           iPad 3        0      99.99  3
## 190            iPad 3           iPad 3        0     128.00  3
## 191            iPad 3           iPad 3        0     185.00  3
## 192            iPad 3           iPad 3        0     187.50  3
## 193            iPad 3           iPad 3        0     199.00  3
## 194            iPad 4           iPad 4        0      50.00  3
## 195            iPad 4           iPad 4        0     225.00  3
## 196            iPad 4           iPad 4        0     259.99  3
## 197            iPad 4           iPad 4        0     275.00  3
## 198            iPad 4           iPad 4        0     280.00  3
## 199            iPad 4           iPad 4        0     300.00  3
## 200            iPad 4           iPad 4        0     320.00  3
## 201          iPad Air         iPad Air        0      90.00  3
## 202          iPad Air         iPad Air        0     290.00  3
## 203          iPad Air         iPad Air        0     299.99  3
## 204          iPad Air         iPad Air        0     320.00  3
## 205          iPad Air         iPad Air        0     349.00  3
## 206          iPad Air         iPad Air        0     379.00  3
## 207          iPad Air         iPad Air        0     415.00  3
## 208          iPad Air         iPad Air        0     449.99  3
## 209        iPad Air 2       iPad Air 2        0       1.00  3
## 210        iPad Air 2       iPad Air 2        0      50.00  3
## 211        iPad Air 2       iPad Air 2        0     199.99  3
## 212        iPad Air 2       iPad Air 2        0     425.00  3
## 213        iPad Air 2       iPad Air 2        0     439.99  3
## 214        iPad Air 2       iPad Air 2        0     480.00  3
## 215        iPad Air 2       iPad Air 2        0     525.00  3
## 216        iPad Air 2       iPad Air 2        0     560.00  3
## 217         iPad mini        iPad mini        0       0.01  3
## 218         iPad mini        iPad mini        0      20.00  3
## 219         iPad mini        iPad mini        0      25.00  3
## 220         iPad mini        iPad mini        0      45.00  3
## 221         iPad mini        iPad mini        0      60.00  3
## 222         iPad mini        iPad mini        0     125.00  3
## 223         iPad mini        iPad mini        0     149.00  3
## 224         iPad mini        iPad mini        0     160.00  3
## 225         iPad mini        iPad mini        0     179.99  3
## 226         iPad mini        iPad mini        0     189.99  3
## 227         iPad mini        iPad mini        0     210.00  3
## 228         iPad mini        iPad mini        0     249.99  3
## 229         iPad mini        iPad mini        0     259.99  3
## 230         iPad mini        iPad mini        0     290.00  3
## 231         iPad mini        iPad mini        0     400.00  3
## 232       iPad mini 2      iPad mini 2        0     100.00  3
## 233       iPad mini 2      iPad mini 2        0     120.00  3
## 234       iPad mini 2      iPad mini 2        0     180.00  3
## 235       iPad mini 2      iPad mini 2        0     285.00  3
## 236       iPad mini 2      iPad mini 2        0     300.00  3
## 237       iPad mini 2      iPad mini 2        0     375.00  3
## 238       iPad mini 3      iPad mini 3        0      99.00  3
## 239       iPad mini 3      iPad mini 3        0     300.00  3
## 240       iPad mini 3      iPad mini 3        0     329.99  3
## 241       iPad mini 3      iPad mini 3        0     350.00  3
## 242       iPad mini 3      iPad mini 3        0     399.99  3
## 243       iPad mini 3      iPad mini 3        0     400.00  3
## 244       iPad mini 3      iPad mini 3        0     449.99  3
## 245       iPad mini 3      iPad mini 3        0     729.99  3
## 246           Unknown          Unknown        0       5.00  2
## 247           Unknown          Unknown        0       9.99  2
## 248           Unknown          Unknown        0      19.99  2
## 249           Unknown          Unknown        0      20.00  2
## 250           Unknown          Unknown        0      39.99  2
## 251           Unknown          Unknown        0      70.00  2
## 252           Unknown          Unknown        0      79.95  2
## 253           Unknown          Unknown        0      80.00  2
## 254           Unknown          Unknown        0      99.99  2
## 255           Unknown          Unknown        0     108.00  2
## 256           Unknown          Unknown        0     159.99  2
## 257           Unknown          Unknown        0     165.00  2
## 258           Unknown          Unknown        0     169.99  2
## 259           Unknown          Unknown        0     175.00  2
## 260           Unknown          Unknown        0     185.00  2
## 261           Unknown          Unknown        0     280.00  2
## 262           Unknown          Unknown        0     319.99  2
## 263           Unknown          Unknown        0     375.00  2
## 264           Unknown          Unknown        0     399.00  2
## 265           Unknown          Unknown        0     450.00  2
## 266           Unknown          Unknown        0     500.00  2
## 267           Unknown          Unknown        0     550.00  2
## 268           Unknown          Unknown        0     599.99  2
## 269           Unknown          Unknown        0     700.00  2
## 270            iPad 1           iPad 1        0       9.50  2
## 271            iPad 1           iPad 1        0       9.99  2
## 272            iPad 1           iPad 1        0      10.00  2
## 273            iPad 1           iPad 1        0      14.99  2
## 274            iPad 1           iPad 1        0      15.00  2
## 275            iPad 1           iPad 1        0      45.00  2
## 276            iPad 1           iPad 1        0      58.00  2
## 277            iPad 1           iPad 1        0      60.00  2
## 278            iPad 1           iPad 1        0      62.00  2
## 279            iPad 1           iPad 1        0      69.00  2
## 280            iPad 1           iPad 1        0      69.99  2
## 281            iPad 1           iPad 1        0      89.95  2
## 282            iPad 1           iPad 1        0      92.14  2
## 283            iPad 1           iPad 1        0     101.00  2
## 284            iPad 1           iPad 1        0     104.99  2
## 285            iPad 1           iPad 1        0     115.00  2
## 286            iPad 1           iPad 1        0     124.95  2
## 287            iPad 1           iPad 1        0     125.00  2
## 288            iPad 1           iPad 1        0     129.99  2
## 289            iPad 1           iPad 1        0     165.00  2
## 290            iPad 1           iPad 1        0     175.00  2
## 291            iPad 1           iPad 1        0     250.00  2
## 292            iPad 1           iPad 1        0     279.95  2
## 293            iPad 2           iPad 2        0       0.10  2
## 294            iPad 2           iPad 2        0      15.00  2
## 295            iPad 2           iPad 2        0      19.95  2
## 296            iPad 2           iPad 2        0      59.99  2
## 297            iPad 2           iPad 2        0      65.00  2
## 298            iPad 2           iPad 2        0      69.99  2
## 299            iPad 2           iPad 2        0      74.99  2
## 300            iPad 2           iPad 2        0      89.00  2
## 301            iPad 2           iPad 2        0      95.00  2
## 302            iPad 2           iPad 2        0     119.99  2
## 303            iPad 2           iPad 2        0     128.00  2
## 304            iPad 2           iPad 2        0     135.00  2
## 305            iPad 2           iPad 2        0     144.99  2
## 306            iPad 2           iPad 2        0     145.00  2
## 307            iPad 2           iPad 2        0     149.97  2
## 308            iPad 2           iPad 2        0     150.99  2
## 309            iPad 2           iPad 2        0     162.00  2
## 310            iPad 2           iPad 2        0     169.99  2
## 311            iPad 2           iPad 2        0     170.00  2
## 312            iPad 2           iPad 2        0     172.00  2
## 313            iPad 2           iPad 2        0     179.95  2
## 314            iPad 2           iPad 2        0     204.00  2
## 315            iPad 2           iPad 2        0     220.00  2
## 316            iPad 2           iPad 2        0     350.00  2
## 317            iPad 3           iPad 3        0       0.01  2
## 318            iPad 3           iPad 3        0      25.00  2
## 319            iPad 3           iPad 3        0      49.99  2
## 320            iPad 3           iPad 3        0      89.99  2
## 321            iPad 3           iPad 3        0      99.95  2
## 322            iPad 3           iPad 3        0     125.00  2
## 323            iPad 3           iPad 3        0     140.00  2
## 324            iPad 3           iPad 3        0     179.99  2
## 325            iPad 3           iPad 3        0     180.00  2
## 326            iPad 3           iPad 3        0     209.99  2
## 327            iPad 3           iPad 3        0     215.00  2
## 328            iPad 3           iPad 3        0     229.99  2
## 329            iPad 3           iPad 3        0     239.88  2
## 330            iPad 3           iPad 3        0     239.99  2
## 331            iPad 3           iPad 3        0     299.00  2
## 332            iPad 3           iPad 3        0     314.99  2
## 333            iPad 3           iPad 3        0     450.00  2
## 334            iPad 4           iPad 4        0      80.00  2
## 335            iPad 4           iPad 4        0      99.98  2
## 336            iPad 4           iPad 4        0     107.00  2
## 337            iPad 4           iPad 4        0     125.00  2
## 338            iPad 4           iPad 4        0     195.00  2
## 339            iPad 4           iPad 4        0     199.00  2
## 340            iPad 4           iPad 4        0     209.00  2
## 341            iPad 4           iPad 4        0     240.00  2
## 342            iPad 4           iPad 4        0     255.00  2
## 343            iPad 4           iPad 4        0     265.00  2
## 344            iPad 4           iPad 4        0     269.99  2
## 345            iPad 4           iPad 4        0     285.00  2
## 346            iPad 4           iPad 4        0     295.00  2
## 347            iPad 4           iPad 4        0     299.99  2
## 348            iPad 4           iPad 4        0     305.00  2
## 349            iPad 4           iPad 4        0     309.99  2
## 350            iPad 4           iPad 4        0     310.00  2
## 351            iPad 4           iPad 4        0     315.00  2
## 352            iPad 4           iPad 4        0     324.99  2
## 353            iPad 4           iPad 4        0     325.00  2
## 354            iPad 4           iPad 4        0     344.00  2
## 355            iPad 4           iPad 4        0     350.00  2
## 356            iPad 4           iPad 4        0     367.97  2
## 357            iPad 4           iPad 4        0     375.00  2
## 358            iPad 4           iPad 4        0     500.00  2
## 359            iPad 4           iPad 4        0     588.18  2
## 360          iPad Air         iPad Air        0      49.99  2
## 361          iPad Air         iPad Air        0      75.00  2
## 362          iPad Air         iPad Air        0      89.99  2
## 363          iPad Air         iPad Air        0      99.99  2
## 364          iPad Air         iPad Air        0     149.99  2
## 365          iPad Air         iPad Air        0     199.00  2
## 366          iPad Air         iPad Air        0     209.00  2
## 367          iPad Air         iPad Air        0     245.00  2
## 368          iPad Air         iPad Air        0     249.98  2
## 369          iPad Air         iPad Air        0     265.00  2
## 370          iPad Air         iPad Air        0     279.00  2
## 371          iPad Air         iPad Air        0     280.00  2
## 372          iPad Air         iPad Air        0     299.00  2
## 373          iPad Air         iPad Air        0     319.00  2
## 374          iPad Air         iPad Air        0     319.95  2
## 375          iPad Air         iPad Air        0     319.99  2
## 376          iPad Air         iPad Air        0     320.99  2
## 377          iPad Air         iPad Air        0     339.00  2
## 378          iPad Air         iPad Air        0     349.99  2
## 379          iPad Air         iPad Air        0     369.99  2
## 380          iPad Air         iPad Air        0     375.00  2
## 381          iPad Air         iPad Air        0     379.99  2
## 382          iPad Air         iPad Air        0     398.99  2
## 383          iPad Air         iPad Air        0     399.99  2
## 384          iPad Air         iPad Air        0     450.00  2
## 385          iPad Air         iPad Air        0     579.99  2
## 386          iPad Air         iPad Air        0     648.00  2
## 387          iPad Air         iPad Air        0     750.00  2
## 388        iPad Air 2       iPad Air 2        0      99.99  2
## 389        iPad Air 2       iPad Air 2        0     200.00  2
## 390        iPad Air 2       iPad Air 2        0     260.00  2
## 391        iPad Air 2       iPad Air 2        0     300.00  2
## 392        iPad Air 2       iPad Air 2        0     349.99  2
## 393        iPad Air 2       iPad Air 2        0     379.99  2
## 394        iPad Air 2       iPad Air 2        0     419.00  2
## 395        iPad Air 2       iPad Air 2        0     449.00  2
## 396        iPad Air 2       iPad Air 2        0     465.99  2
## 397        iPad Air 2       iPad Air 2        0     475.00  2
## 398        iPad Air 2       iPad Air 2        0     549.00  2
## 399        iPad Air 2       iPad Air 2        0     559.99  2
## 400        iPad Air 2       iPad Air 2        0     575.00  2
## 401        iPad Air 2       iPad Air 2        0     639.00  2
## 402        iPad Air 2       iPad Air 2        0     639.99  2
## 403        iPad Air 2       iPad Air 2        0     650.00  2
## 404        iPad Air 2       iPad Air 2        0     729.99  2
## 405        iPad Air 2       iPad Air 2        0     749.00  2
## 406        iPad Air 2       iPad Air 2        0     749.95  2
## 407        iPad Air 2       iPad Air 2        0     800.00  2
## 408         iPad mini          Unknown        1     149.99  2
## 409         iPad mini        iPad mini        0       5.00  2
## 410         iPad mini        iPad mini        0      10.00  2
## 411         iPad mini        iPad mini        0      30.00  2
## 412         iPad mini        iPad mini        0      70.00  2
## 413         iPad mini        iPad mini        0      85.00  2
## 414         iPad mini        iPad mini        0      90.00  2
## 415         iPad mini        iPad mini        0      99.95  2
## 416         iPad mini        iPad mini        0     114.99  2
## 417         iPad mini        iPad mini        0     115.00  2
## 418         iPad mini        iPad mini        0     139.99  2
## 419         iPad mini        iPad mini        0     155.00  2
## 420         iPad mini        iPad mini        0     165.00  2
## 421         iPad mini        iPad mini        0     174.99  2
## 422         iPad mini        iPad mini        0     215.00  2
## 423         iPad mini        iPad mini        0     219.99  2
## 424         iPad mini        iPad mini        0     225.00  2
## 425         iPad mini        iPad mini        0     230.00  2
## 426         iPad mini        iPad mini        0     239.99  2
## 427         iPad mini        iPad mini        0     249.00  2
## 428         iPad mini        iPad mini        0     258.98  2
## 429         iPad mini        iPad mini        0     280.00  2
## 430         iPad mini        iPad mini        0     285.00  2
## 431         iPad mini        iPad mini        0     299.99  2
## 432         iPad mini        iPad mini        1     179.00  2
## 433         iPad mini        iPad mini        1     199.00  2
## 434       iPad mini 2      iPad mini 2        0       1.00  2
## 435       iPad mini 2      iPad mini 2        0      99.00  2
## 436       iPad mini 2      iPad mini 2        0      99.99  2
## 437       iPad mini 2      iPad mini 2        0     187.99  2
## 438       iPad mini 2      iPad mini 2        0     230.00  2
## 439       iPad mini 2      iPad mini 2        0     235.00  2
## 440       iPad mini 2      iPad mini 2        0     269.00  2
## 441       iPad mini 2      iPad mini 2        0     275.00  2
## 442       iPad mini 2      iPad mini 2        0     280.00  2
## 443       iPad mini 2      iPad mini 2        0     289.00  2
## 444       iPad mini 2      iPad mini 2        0     299.00  2
## 445       iPad mini 2      iPad mini 2        0     315.00  2
## 446       iPad mini 2      iPad mini 2        0     325.00  2
## 447       iPad mini 2      iPad mini 2        0     329.00  2
## 448       iPad mini 2      iPad mini 2        0     329.99  2
## 449       iPad mini 2      iPad mini 2        0     349.99  2
## 450       iPad mini 2      iPad mini 2        0     399.99  2
## 451       iPad mini 2      iPad mini 2        0     499.00  2
## 452       iPad mini 3      iPad mini 3        0       0.01  2
## 453       iPad mini 3      iPad mini 3        0     199.00  2
## 454       iPad mini 3      iPad mini 3        0     284.99  2
## 455       iPad mini 3      iPad mini 3        0     299.99  2
## 456       iPad mini 3      iPad mini 3        0     345.00  2
## 457       iPad mini 3      iPad mini 3        0     349.00  2
## 458       iPad mini 3      iPad mini 3        0     375.00  2
## 459       iPad mini 3      iPad mini 3        0     389.99  2
## 460       iPad mini 3      iPad mini 3        0     498.88  2
## 461       iPad mini 3      iPad mini 3        0     500.00  2
## 462           Unknown          Unknown        0       0.01  1
## 463           Unknown          Unknown        0       1.00  1
## 464           Unknown          Unknown        0       2.99  1
## 465           Unknown          Unknown        0       3.99  1
## 466           Unknown          Unknown        0       4.69  1
## 467           Unknown          Unknown        0       4.99  1
## 468           Unknown          Unknown        0       5.65  1
## 469           Unknown          Unknown        0       7.99  1
## 470           Unknown          Unknown        0       8.99  1
## 471           Unknown          Unknown        0       9.95  1
## 472           Unknown          Unknown        0      10.00  1
## 473           Unknown          Unknown        0      14.00  1
## 474           Unknown          Unknown        0      14.49  1
## 475           Unknown          Unknown        0      14.99  1
## 476           Unknown          Unknown        0      17.75  1
## 477           Unknown          Unknown        0      24.99  1
## 478           Unknown          Unknown        0      28.00  1
## 479           Unknown          Unknown        0      28.75  1
## 480           Unknown          Unknown        0      30.00  1
## 481           Unknown          Unknown        0      30.99  1
## 482           Unknown          Unknown        0      32.95  1
## 483           Unknown          Unknown        0      35.00  1
## 484           Unknown          Unknown        0      37.98  1
## 485           Unknown          Unknown        0      41.00  1
## 486           Unknown          Unknown        0      43.20  1
## 487           Unknown          Unknown        0      44.99  1
## 488           Unknown          Unknown        0      45.00  1
## 489           Unknown          Unknown        0      49.95  1
## 490           Unknown          Unknown        0      49.99  1
## 491           Unknown          Unknown        0      51.99  1
## 492           Unknown          Unknown        0      52.25  1
## 493           Unknown          Unknown        0      57.50  1
## 494           Unknown          Unknown        0      58.00  1
## 495           Unknown          Unknown        0      59.95  1
## 496           Unknown          Unknown        0      59.99  1
## 497           Unknown          Unknown        0      63.00  1
## 498           Unknown          Unknown        0      65.00  1
## 499           Unknown          Unknown        0      69.00  1
## 500           Unknown          Unknown        0      70.99  1
## 501           Unknown          Unknown        0      76.00  1
## 502           Unknown          Unknown        0      87.00  1
## 503           Unknown          Unknown        0      89.00  1
## 504           Unknown          Unknown        0      90.00  1
## 505           Unknown          Unknown        0      91.00  1
## 506           Unknown          Unknown        0      99.46  1
## 507           Unknown          Unknown        0     109.99  1
## 508           Unknown          Unknown        0     110.00  1
## 509           Unknown          Unknown        0     114.48  1
## 510           Unknown          Unknown        0     116.33  1
## 511           Unknown          Unknown        0     118.84  1
## 512           Unknown          Unknown        0     118.95  1
## 513           Unknown          Unknown        0     119.99  1
## 514           Unknown          Unknown        0     124.99  1
## 515           Unknown          Unknown        0     125.00  1
## 516           Unknown          Unknown        0     127.95  1
## 517           Unknown          Unknown        0     137.95  1
## 518           Unknown          Unknown        0     139.00  1
## 519           Unknown          Unknown        0     139.99  1
## 520           Unknown          Unknown        0     145.00  1
## 521           Unknown          Unknown        0     149.98  1
## 522           Unknown          Unknown        0     150.87  1
## 523           Unknown          Unknown        0     154.99  1
## 524           Unknown          Unknown        0     155.00  1
## 525           Unknown          Unknown        0     167.38  1
## 526           Unknown          Unknown        0     168.00  1
## 527           Unknown          Unknown        0     170.00  1
## 528           Unknown          Unknown        0     174.00  1
## 529           Unknown          Unknown        0     177.99  1
## 530           Unknown          Unknown        0     179.99  1
## 531           Unknown          Unknown        0     180.00  1
## 532           Unknown          Unknown        0     182.77  1
## 533           Unknown          Unknown        0     186.00  1
## 534           Unknown          Unknown        0     188.00  1
## 535           Unknown          Unknown        0     190.99  1
## 536           Unknown          Unknown        0     193.15  1
## 537           Unknown          Unknown        0     195.00  1
## 538           Unknown          Unknown        0     196.79  1
## 539           Unknown          Unknown        0     199.97  1
## 540           Unknown          Unknown        0     210.00  1
## 541           Unknown          Unknown        0     214.95  1
## 542           Unknown          Unknown        0     215.00  1
## 543           Unknown          Unknown        0     220.00  1
## 544           Unknown          Unknown        0     224.00  1
## 545           Unknown          Unknown        0     225.00  1
## 546           Unknown          Unknown        0     229.00  1
## 547           Unknown          Unknown        0     229.95  1
## 548           Unknown          Unknown        0     229.99  1
## 549           Unknown          Unknown        0     230.00  1
## 550           Unknown          Unknown        0     232.99  1
## 551           Unknown          Unknown        0     239.99  1
## 552           Unknown          Unknown        0     255.00  1
## 553           Unknown          Unknown        0     259.00  1
## 554           Unknown          Unknown        0     259.99  1
## 555           Unknown          Unknown        0     260.00  1
## 556           Unknown          Unknown        0     265.00  1
## 557           Unknown          Unknown        0     275.00  1
## 558           Unknown          Unknown        0     276.99  1
## 559           Unknown          Unknown        0     279.00  1
## 560           Unknown          Unknown        0     285.00  1
## 561           Unknown          Unknown        0     289.00  1
## 562           Unknown          Unknown        0     295.00  1
## 563           Unknown          Unknown        0     309.98  1
## 564           Unknown          Unknown        0     318.00  1
## 565           Unknown          Unknown        0     325.00  1
## 566           Unknown          Unknown        0     329.99  1
## 567           Unknown          Unknown        0     334.99  1
## 568           Unknown          Unknown        0     339.00  1
## 569           Unknown          Unknown        0     340.00  1
## 570           Unknown          Unknown        0     347.00  1
## 571           Unknown          Unknown        0     349.99  1
## 572           Unknown          Unknown        0     380.00  1
## 573           Unknown          Unknown        0     389.00  1
## 574           Unknown          Unknown        0     395.00  1
## 575           Unknown          Unknown        0     408.60  1
## 576           Unknown          Unknown        0     415.00  1
## 577           Unknown          Unknown        0     419.99  1
## 578           Unknown          Unknown        0     425.99  1
## 579           Unknown          Unknown        0     426.30  1
## 580           Unknown          Unknown        0     439.98  1
## 581           Unknown          Unknown        0     470.00  1
## 582           Unknown          Unknown        0     473.60  1
## 583           Unknown          Unknown        0     480.00  1
## 584           Unknown          Unknown        0     520.90  1
## 585           Unknown          Unknown        0     535.00  1
## 586           Unknown          Unknown        0     554.77  1
## 587           Unknown          Unknown        0     561.53  1
## 588           Unknown          Unknown        0     590.00  1
## 589           Unknown          Unknown        0     595.00  1
## 590           Unknown          Unknown        0     599.00  1
## 591           Unknown          Unknown        0     639.99  1
## 592           Unknown          Unknown        0     640.00  1
## 593           Unknown          Unknown        0     679.99  1
## 594            iPad 1           iPad 1        0       9.95  1
## 595            iPad 1           iPad 1        0      19.95  1
## 596            iPad 1           iPad 1        0      29.95  1
## 597            iPad 1           iPad 1        0      33.00  1
## 598            iPad 1           iPad 1        0      35.00  1
## 599            iPad 1           iPad 1        0      39.99  1
## 600            iPad 1           iPad 1        0      42.00  1
## 601            iPad 1           iPad 1        0      48.00  1
## 602            iPad 1           iPad 1        0      48.99  1
## 603            iPad 1           iPad 1        0      49.49  1
## 604            iPad 1           iPad 1        0      52.99  1
## 605            iPad 1           iPad 1        0      54.99  1
## 606            iPad 1           iPad 1        0      55.66  1
## 607            iPad 1           iPad 1        0      56.00  1
## 608            iPad 1           iPad 1        0      59.00  1
## 609            iPad 1           iPad 1        0      59.99  1
## 610            iPad 1           iPad 1        0      64.99  1
## 611            iPad 1           iPad 1        0      72.00  1
## 612            iPad 1           iPad 1        0      74.00  1
## 613            iPad 1           iPad 1        0      74.50  1
## 614            iPad 1           iPad 1        0      74.99  1
## 615            iPad 1           iPad 1        0      78.00  1
## 616            iPad 1           iPad 1        0      79.94  1
## 617            iPad 1           iPad 1        0      82.95  1
## 618            iPad 1           iPad 1        0      82.98  1
## 619            iPad 1           iPad 1        0      85.95  1
## 620            iPad 1           iPad 1        0      89.50  1
## 621            iPad 1           iPad 1        0      91.00  1
## 622            iPad 1           iPad 1        0      92.00  1
## 623            iPad 1           iPad 1        0      93.00  1
## 624            iPad 1           iPad 1        0      94.99  1
## 625            iPad 1           iPad 1        0      96.00  1
## 626            iPad 1           iPad 1        0      98.00  1
## 627            iPad 1           iPad 1        0      99.94  1
## 628            iPad 1           iPad 1        0     102.00  1
## 629            iPad 1           iPad 1        0     104.70  1
## 630            iPad 1           iPad 1        0     109.00  1
## 631            iPad 1           iPad 1        0     109.98  1
## 632            iPad 1           iPad 1        0     112.99  1
## 633            iPad 1           iPad 1        0     114.94  1
## 634            iPad 1           iPad 1        0     119.00  1
## 635            iPad 1           iPad 1        0     120.00  1
## 636            iPad 1           iPad 1        0     120.02  1
## 637            iPad 1           iPad 1        0     124.99  1
## 638            iPad 1           iPad 1        0     129.95  1
## 639            iPad 1           iPad 1        0     130.00  1
## 640            iPad 1           iPad 1        0     145.00  1
## 641            iPad 1           iPad 1        0     149.00  1
## 642            iPad 1           iPad 1        0     149.95  1
## 643            iPad 1           iPad 1        0     149.98  1
## 644            iPad 1           iPad 1        0     149.99  1
## 645            iPad 1           iPad 1        0     155.00  1
## 646            iPad 1           iPad 1        0     159.95  1
## 647            iPad 1           iPad 1        0     169.95  1
## 648            iPad 1           iPad 1        0     170.00  1
## 649            iPad 1           iPad 1        0     174.99  1
## 650            iPad 1           iPad 1        0     190.45  1
## 651            iPad 1           iPad 1        0     198.00  1
## 652            iPad 1           iPad 1        0     199.99  1
## 653            iPad 1           iPad 1        0     200.00  1
## 654            iPad 1           iPad 1        0     209.90  1
## 655            iPad 1           iPad 1        0     220.00  1
## 656            iPad 1           iPad 1        0     225.00  1
## 657            iPad 1           iPad 1        0     227.00  1
## 658            iPad 1           iPad 1        0     229.00  1
## 659            iPad 1           iPad 1        0     229.97  1
## 660            iPad 1           iPad 1        0     229.99  1
## 661            iPad 1           iPad 1        0     235.00  1
## 662            iPad 1           iPad 1        0     245.00  1
## 663            iPad 1           iPad 1        0     269.99  1
## 664            iPad 1           iPad 1        0     275.00  1
## 665            iPad 1           iPad 1        0     289.95  1
## 666            iPad 1           iPad 1        0     499.00  1
## 667            iPad 2           iPad 2        0       5.00  1
## 668            iPad 2           iPad 2        0      20.00  1
## 669            iPad 2           iPad 2        0      25.00  1
## 670            iPad 2           iPad 2        0      29.95  1
## 671            iPad 2           iPad 2        0      29.99  1
## 672            iPad 2           iPad 2        0      39.99  1
## 673            iPad 2           iPad 2        0      45.00  1
## 674            iPad 2           iPad 2        0      49.00  1
## 675            iPad 2           iPad 2        0      60.00  1
## 676            iPad 2           iPad 2        0      66.99  1
## 677            iPad 2           iPad 2        0      69.50  1
## 678            iPad 2           iPad 2        0      69.95  1
## 679            iPad 2           iPad 2        0      71.99  1
## 680            iPad 2           iPad 2        0      72.00  1
## 681            iPad 2           iPad 2        0      74.00  1
## 682            iPad 2           iPad 2        0      79.00  1
## 683            iPad 2           iPad 2        0      79.97  1
## 684            iPad 2           iPad 2        0      89.95  1
## 685            iPad 2           iPad 2        0      92.00  1
## 686            iPad 2           iPad 2        0      92.49  1
## 687            iPad 2           iPad 2        0      96.00  1
## 688            iPad 2           iPad 2        0      97.50  1
## 689            iPad 2           iPad 2        0     104.00  1
## 690            iPad 2           iPad 2        0     106.95  1
## 691            iPad 2           iPad 2        0     109.99  1
## 692            iPad 2           iPad 2        0     110.00  1
## 693            iPad 2           iPad 2        0     111.00  1
## 694            iPad 2           iPad 2        0     111.50  1
## 695            iPad 2           iPad 2        0     112.00  1
## 696            iPad 2           iPad 2        0     115.00  1
## 697            iPad 2           iPad 2        0     119.95  1
## 698            iPad 2           iPad 2        0     121.00  1
## 699            iPad 2           iPad 2        0     124.00  1
## 700            iPad 2           iPad 2        0     127.99  1
## 701            iPad 2           iPad 2        0     134.34  1
## 702            iPad 2           iPad 2        0     134.95  1
## 703            iPad 2           iPad 2        0     139.50  1
## 704            iPad 2           iPad 2        0     139.98  1
## 705            iPad 2           iPad 2        0     141.09  1
## 706            iPad 2           iPad 2        0     142.25  1
## 707            iPad 2           iPad 2        0     142.49  1
## 708            iPad 2           iPad 2        0     145.49  1
## 709            iPad 2           iPad 2        0     146.99  1
## 710            iPad 2           iPad 2        0     147.59  1
## 711            iPad 2           iPad 2        0     147.72  1
## 712            iPad 2           iPad 2        0     152.00  1
## 713            iPad 2           iPad 2        0     153.95  1
## 714            iPad 2           iPad 2        0     153.99  1
## 715            iPad 2           iPad 2        0     157.00  1
## 716            iPad 2           iPad 2        0     158.99  1
## 717            iPad 2           iPad 2        0     159.93  1
## 718            iPad 2           iPad 2        0     159.94  1
## 719            iPad 2           iPad 2        0     159.95  1
## 720            iPad 2           iPad 2        0     164.00  1
## 721            iPad 2           iPad 2        0     169.98  1
## 722            iPad 2           iPad 2        0     171.00  1
## 723            iPad 2           iPad 2        0     173.00  1
## 724            iPad 2           iPad 2        0     182.00  1
## 725            iPad 2           iPad 2        0     184.99  1
## 726            iPad 2           iPad 2        0     189.00  1
## 727            iPad 2           iPad 2        0     189.85  1
## 728            iPad 2           iPad 2        0     189.95  1
## 729            iPad 2           iPad 2        0     190.00  1
## 730            iPad 2           iPad 2        0     190.45  1
## 731            iPad 2           iPad 2        0     193.00  1
## 732            iPad 2           iPad 2        0     194.00  1
## 733            iPad 2           iPad 2        0     194.85  1
## 734            iPad 2           iPad 2        0     194.95  1
## 735            iPad 2           iPad 2        0     195.00  1
## 736            iPad 2           iPad 2        0     198.98  1
## 737            iPad 2           iPad 2        0     199.00  1
## 738            iPad 2           iPad 2        0     204.95  1
## 739            iPad 2           iPad 2        0     209.00  1
## 740            iPad 2           iPad 2        0     210.00  1
## 741            iPad 2           iPad 2        0     211.95  1
## 742            iPad 2           iPad 2        0     212.99  1
## 743            iPad 2           iPad 2        0     215.00  1
## 744            iPad 2           iPad 2        0     215.99  1
## 745            iPad 2           iPad 2        0     219.85  1
## 746            iPad 2           iPad 2        0     225.00  1
## 747            iPad 2           iPad 2        0     227.95  1
## 748            iPad 2           iPad 2        0     228.59  1
## 749            iPad 2           iPad 2        0     229.99  1
## 750            iPad 2           iPad 2        0     234.99  1
## 751            iPad 2           iPad 2        0     235.00  1
## 752            iPad 2           iPad 2        0     239.00  1
## 753            iPad 2           iPad 2        0     239.99  1
## 754            iPad 2           iPad 2        0     249.95  1
## 755            iPad 2           iPad 2        0     255.00  1
## 756            iPad 2           iPad 2        0     269.94  1
## 757            iPad 2           iPad 2        0     279.00  1
## 758            iPad 2           iPad 2        0     279.99  1
## 759            iPad 2           iPad 2        0     280.00  1
## 760            iPad 2           iPad 2        0     288.00  1
## 761            iPad 2           iPad 2        0     289.99  1
## 762            iPad 2           iPad 2        0     294.99  1
## 763            iPad 2           iPad 2        0     298.97  1
## 764            iPad 2           iPad 2        0     310.00  1
## 765            iPad 2           iPad 2        0     315.00  1
## 766            iPad 2           iPad 2        0     330.00  1
## 767            iPad 2           iPad 2        0     340.00  1
## 768            iPad 2           iPad 2        0     349.99  1
## 769            iPad 2           iPad 2        0     393.00  1
## 770            iPad 2           iPad 2        0     395.00  1
## 771            iPad 2           iPad 2        0     396.00  1
## 772            iPad 2           iPad 2        0     406.00  1
## 773            iPad 2           iPad 2        0     417.00  1
## 774            iPad 2           iPad 2        0     425.00  1
## 775            iPad 2           iPad 2        0     525.00  1
## 776            iPad 2           iPad 2        0     700.00  1
## 777            iPad 3           iPad 3        0       0.50  1
## 778            iPad 3           iPad 3        0       5.00  1
## 779            iPad 3           iPad 3        0       7.99  1
## 780            iPad 3           iPad 3        0      45.00  1
## 781            iPad 3           iPad 3        0      50.00  1
## 782            iPad 3           iPad 3        0      69.69  1
## 783            iPad 3           iPad 3        0      71.00  1
## 784            iPad 3           iPad 3        0      75.00  1
## 785            iPad 3           iPad 3        0      80.00  1
## 786            iPad 3           iPad 3        0      85.00  1
## 787            iPad 3           iPad 3        0      95.00  1
## 788            iPad 3           iPad 3        0     105.00  1
## 789            iPad 3           iPad 3        0     115.00  1
## 790            iPad 3           iPad 3        0     120.00  1
## 791            iPad 3           iPad 3        0     129.00  1
## 792            iPad 3           iPad 3        0     134.61  1
## 793            iPad 3           iPad 3        0     159.00  1
## 794            iPad 3           iPad 3        0     159.99  1
## 795            iPad 3           iPad 3        0     165.00  1
## 796            iPad 3           iPad 3        0     179.00  1
## 797            iPad 3           iPad 3        0     179.95  1
## 798            iPad 3           iPad 3        0     184.50  1
## 799            iPad 3           iPad 3        0     184.95  1
## 800            iPad 3           iPad 3        0     188.99  1
## 801            iPad 3           iPad 3        0     189.99  1
## 802            iPad 3           iPad 3        0     190.00  1
## 803            iPad 3           iPad 3        0     196.00  1
## 804            iPad 3           iPad 3        0     199.69  1
## 805            iPad 3           iPad 3        0     200.29  1
## 806            iPad 3           iPad 3        0     204.00  1
## 807            iPad 3           iPad 3        0     210.99  1
## 808            iPad 3           iPad 3        0     214.99  1
## 809            iPad 3           iPad 3        0     219.95  1
## 810            iPad 3           iPad 3        0     228.88  1
## 811            iPad 3           iPad 3        0     229.00  1
## 812            iPad 3           iPad 3        0     229.98  1
## 813            iPad 3           iPad 3        0     234.00  1
## 814            iPad 3           iPad 3        0     235.00  1
## 815            iPad 3           iPad 3        0     235.99  1
## 816            iPad 3           iPad 3        0     246.00  1
## 817            iPad 3           iPad 3        0     248.00  1
## 818            iPad 3           iPad 3        0     249.00  1
## 819            iPad 3           iPad 3        0     249.97  1
## 820            iPad 3           iPad 3        0     252.99  1
## 821            iPad 3           iPad 3        0     259.00  1
## 822            iPad 3           iPad 3        0     269.95  1
## 823            iPad 3           iPad 3        0     289.00  1
## 824            iPad 3           iPad 3        0     289.98  1
## 825            iPad 3           iPad 3        0     290.00  1
## 826            iPad 3           iPad 3        0     295.00  1
## 827            iPad 3           iPad 3        0     298.00  1
## 828            iPad 3           iPad 3        0     299.99  1
## 829            iPad 3           iPad 3        0     319.95  1
## 830            iPad 3           iPad 3        0     339.00  1
## 831            iPad 3           iPad 3        0     350.00  1
## 832            iPad 3           iPad 3        0     380.00  1
## 833            iPad 3           iPad 3        0     395.00  1
## 834            iPad 3           iPad 3        0     463.26  1
## 835            iPad 3           iPad 3        0     494.50  1
## 836            iPad 3           iPad 3        0     600.00  1
## 837            iPad 3           iPad 3        0     649.99  1
## 838            iPad 3           iPad 3        0     699.95  1
## 839            iPad 4           iPad 4        0       1.00  1
## 840            iPad 4           iPad 4        0       7.99  1
## 841            iPad 4           iPad 4        0       8.00  1
## 842            iPad 4           iPad 4        0      10.00  1
## 843            iPad 4           iPad 4        0      20.00  1
## 844            iPad 4           iPad 4        0      35.00  1
## 845            iPad 4           iPad 4        0      38.99  1
## 846            iPad 4           iPad 4        0      39.00  1
## 847            iPad 4           iPad 4        0      65.00  1
## 848            iPad 4           iPad 4        0      79.99  1
## 849            iPad 4           iPad 4        0      99.75  1
## 850            iPad 4           iPad 4        0      99.95  1
## 851            iPad 4           iPad 4        0     115.00  1
## 852            iPad 4           iPad 4        0     119.88  1
## 853            iPad 4           iPad 4        0     119.99  1
## 854            iPad 4           iPad 4        0     139.99  1
## 855            iPad 4           iPad 4        0     144.50  1
## 856            iPad 4           iPad 4        0     149.98  1
## 857            iPad 4           iPad 4        0     155.99  1
## 858            iPad 4           iPad 4        0     160.00  1
## 859            iPad 4           iPad 4        0     174.95  1
## 860            iPad 4           iPad 4        0     185.00  1
## 861            iPad 4           iPad 4        0     189.00  1
## 862            iPad 4           iPad 4        0     215.00  1
## 863            iPad 4           iPad 4        0     218.00  1
## 864            iPad 4           iPad 4        0     219.99  1
## 865            iPad 4           iPad 4        0     220.00  1
## 866            iPad 4           iPad 4        0     224.98  1
## 867            iPad 4           iPad 4        0     224.99  1
## 868            iPad 4           iPad 4        0     229.00  1
## 869            iPad 4           iPad 4        0     237.99  1
## 870            iPad 4           iPad 4        0     238.00  1
## 871            iPad 4           iPad 4        0     239.00  1
## 872            iPad 4           iPad 4        0     239.95  1
## 873            iPad 4           iPad 4        0     244.95  1
## 874            iPad 4           iPad 4        0     244.96  1
## 875            iPad 4           iPad 4        0     245.19  1
## 876            iPad 4           iPad 4        0     249.00  1
## 877            iPad 4           iPad 4        0     249.59  1
## 878            iPad 4           iPad 4        0     249.95  1
## 879            iPad 4           iPad 4        0     254.99  1
## 880            iPad 4           iPad 4        0     259.00  1
## 881            iPad 4           iPad 4        0     260.00  1
## 882            iPad 4           iPad 4        0     261.99  1
## 883            iPad 4           iPad 4        0     263.99  1
## 884            iPad 4           iPad 4        0     264.95  1
## 885            iPad 4           iPad 4        0     264.99  1
## 886            iPad 4           iPad 4        0     270.00  1
## 887            iPad 4           iPad 4        0     276.99  1
## 888            iPad 4           iPad 4        0     279.50  1
## 889            iPad 4           iPad 4        0     280.99  1
## 890            iPad 4           iPad 4        0     284.00  1
## 891            iPad 4           iPad 4        0     289.99  1
## 892            iPad 4           iPad 4        0     291.99  1
## 893            iPad 4           iPad 4        0     299.95  1
## 894            iPad 4           iPad 4        0     303.99  1
## 895            iPad 4           iPad 4        0     304.89  1
## 896            iPad 4           iPad 4        0     319.99  1
## 897            iPad 4           iPad 4        0     324.90  1
## 898            iPad 4           iPad 4        0     329.00  1
## 899            iPad 4           iPad 4        0     339.00  1
## 900            iPad 4           iPad 4        0     340.00  1
## 901            iPad 4           iPad 4        0     345.00  1
## 902            iPad 4           iPad 4        0     349.99  1
## 903            iPad 4           iPad 4        0     399.99  1
## 904            iPad 4           iPad 4        0     410.00  1
## 905            iPad 4           iPad 4        0     419.99  1
## 906            iPad 4           iPad 4        0     425.00  1
## 907            iPad 4           iPad 4        0     445.00  1
## 908            iPad 4           iPad 4        0     479.99  1
## 909            iPad 4           iPad 4        0     520.00  1
## 910            iPad 4           iPad 4        0     540.00  1
## 911            iPad 4           iPad 4        0     544.49  1
## 912            iPad 4           iPad 4        0     559.99  1
## 913            iPad 4           iPad 4        0     573.74  1
## 914            iPad 4           iPad 4        0     649.99  1
## 915            iPad 4           iPad 4        0     650.00  1
## 916            iPad 4           iPad 4        0     695.00  1
## 917            iPad 5           iPad 5        0     300.00  1
## 918          iPad Air         iPad Air        0      20.00  1
## 919          iPad Air         iPad Air        0      24.99  1
## 920          iPad Air         iPad Air        0      25.00  1
## 921          iPad Air         iPad Air        0      49.00  1
## 922          iPad Air         iPad Air        0      50.00  1
## 923          iPad Air         iPad Air        0      80.00  1
## 924          iPad Air         iPad Air        0      99.00  1
## 925          iPad Air         iPad Air        0     144.95  1
## 926          iPad Air         iPad Air        0     149.00  1
## 927          iPad Air         iPad Air        0     150.00  1
## 928          iPad Air         iPad Air        0     160.00  1
## 929          iPad Air         iPad Air        0     179.99  1
## 930          iPad Air         iPad Air        0     184.99  1
## 931          iPad Air         iPad Air        0     185.00  1
## 932          iPad Air         iPad Air        0     187.00  1
## 933          iPad Air         iPad Air        0     189.99  1
## 934          iPad Air         iPad Air        0     225.00  1
## 935          iPad Air         iPad Air        0     240.00  1
## 936          iPad Air         iPad Air        0     242.00  1
## 937          iPad Air         iPad Air        0     249.00  1
## 938          iPad Air         iPad Air        0     249.99  1
## 939          iPad Air         iPad Air        0     255.00  1
## 940          iPad Air         iPad Air        0     256.24  1
## 941          iPad Air         iPad Air        0     257.83  1
## 942          iPad Air         iPad Air        0     259.99  1
## 943          iPad Air         iPad Air        0     266.05  1
## 944          iPad Air         iPad Air        0     269.85  1
## 945          iPad Air         iPad Air        0     270.99  1
## 946          iPad Air         iPad Air        0     274.00  1
## 947          iPad Air         iPad Air        0     274.99  1
## 948          iPad Air         iPad Air        0     275.00  1
## 949          iPad Air         iPad Air        0     288.00  1
## 950          iPad Air         iPad Air        0     289.79  1
## 951          iPad Air         iPad Air        0     292.50  1
## 952          iPad Air         iPad Air        0     294.99  1
## 953          iPad Air         iPad Air        0     299.98  1
## 954          iPad Air         iPad Air        0     310.00  1
## 955          iPad Air         iPad Air        0     319.85  1
## 956          iPad Air         iPad Air        0     322.99  1
## 957          iPad Air         iPad Air        0     334.99  1
## 958          iPad Air         iPad Air        0     339.99  1
## 959          iPad Air         iPad Air        0     344.95  1
## 960          iPad Air         iPad Air        0     346.00  1
## 961          iPad Air         iPad Air        0     347.24  1
## 962          iPad Air         iPad Air        0     349.95  1
## 963          iPad Air         iPad Air        0     358.24  1
## 964          iPad Air         iPad Air        0     359.99  1
## 965          iPad Air         iPad Air        0     360.00  1
## 966          iPad Air         iPad Air        0     360.24  1
## 967          iPad Air         iPad Air        0     370.00  1
## 968          iPad Air         iPad Air        0     374.95  1
## 969          iPad Air         iPad Air        0     374.99  1
## 970          iPad Air         iPad Air        0     375.99  1
## 971          iPad Air         iPad Air        0     380.00  1
## 972          iPad Air         iPad Air        0     384.99  1
## 973          iPad Air         iPad Air        0     388.99  1
## 974          iPad Air         iPad Air        0     389.00  1
## 975          iPad Air         iPad Air        0     399.95  1
## 976          iPad Air         iPad Air        0     404.99  1
## 977          iPad Air         iPad Air        0     408.00  1
## 978          iPad Air         iPad Air        0     420.00  1
## 979          iPad Air         iPad Air        0     424.95  1
## 980          iPad Air         iPad Air        0     429.99  1
## 981          iPad Air         iPad Air        0     430.00  1
## 982          iPad Air         iPad Air        0     438.00  1
## 983          iPad Air         iPad Air        0     439.00  1
## 984          iPad Air         iPad Air        0     439.99  1
## 985          iPad Air         iPad Air        0     443.09  1
## 986          iPad Air         iPad Air        0     455.00  1
## 987          iPad Air         iPad Air        0     462.89  1
## 988          iPad Air         iPad Air        0     469.99  1
## 989          iPad Air         iPad Air        0     495.49  1
## 990          iPad Air         iPad Air        0     509.99  1
## 991          iPad Air         iPad Air        0     517.89  1
## 992          iPad Air         iPad Air        0     539.95  1
## 993          iPad Air         iPad Air        0     549.99  1
## 994          iPad Air         iPad Air        0     550.00  1
## 995          iPad Air         iPad Air        0     558.17  1
## 996          iPad Air         iPad Air        0     565.95  1
## 997          iPad Air         iPad Air        0     589.99  1
## 998          iPad Air         iPad Air        0     599.99  1
## 999          iPad Air         iPad Air        0     650.00  1
## 1000         iPad Air         iPad Air        0     670.00  1
## 1001         iPad Air         iPad Air        0     699.00  1
## 1002         iPad Air         iPad Air        0     795.99  1
## 1003         iPad Air         iPad Air        0     820.00  1
## 1004       iPad Air 2       iPad Air 2        0       0.01  1
## 1005       iPad Air 2       iPad Air 2        0       1.99  1
## 1006       iPad Air 2       iPad Air 2        0       9.00  1
## 1007       iPad Air 2       iPad Air 2        0      10.00  1
## 1008       iPad Air 2       iPad Air 2        0      59.00  1
## 1009       iPad Air 2       iPad Air 2        0      60.00  1
## 1010       iPad Air 2       iPad Air 2        0      99.95  1
## 1011       iPad Air 2       iPad Air 2        0     100.00  1
## 1012       iPad Air 2       iPad Air 2        0     139.00  1
## 1013       iPad Air 2       iPad Air 2        0     229.98  1
## 1014       iPad Air 2       iPad Air 2        0     295.00  1
## 1015       iPad Air 2       iPad Air 2        0     299.00  1
## 1016       iPad Air 2       iPad Air 2        0     299.99  1
## 1017       iPad Air 2       iPad Air 2        0     305.00  1
## 1018       iPad Air 2       iPad Air 2        0     310.00  1
## 1019       iPad Air 2       iPad Air 2        0     319.99  1
## 1020       iPad Air 2       iPad Air 2        0     320.00  1
## 1021       iPad Air 2       iPad Air 2        0     324.99  1
## 1022       iPad Air 2       iPad Air 2        0     339.00  1
## 1023       iPad Air 2       iPad Air 2        0     374.95  1
## 1024       iPad Air 2       iPad Air 2        0     375.00  1
## 1025       iPad Air 2       iPad Air 2        0     380.00  1
## 1026       iPad Air 2       iPad Air 2        0     389.99  1
## 1027       iPad Air 2       iPad Air 2        0     394.99  1
## 1028       iPad Air 2       iPad Air 2        0     395.00  1
## 1029       iPad Air 2       iPad Air 2        0     399.94  1
## 1030       iPad Air 2       iPad Air 2        0     399.95  1
## 1031       iPad Air 2       iPad Air 2        0     410.00  1
## 1032       iPad Air 2       iPad Air 2        0     424.55  1
## 1033       iPad Air 2       iPad Air 2        0     424.65  1
## 1034       iPad Air 2       iPad Air 2        0     424.99  1
## 1035       iPad Air 2       iPad Air 2        0     429.00  1
## 1036       iPad Air 2       iPad Air 2        0     429.95  1
## 1037       iPad Air 2       iPad Air 2        0     429.99  1
## 1038       iPad Air 2       iPad Air 2        0     430.00  1
## 1039       iPad Air 2       iPad Air 2        0     438.99  1
## 1040       iPad Air 2       iPad Air 2        0     439.98  1
## 1041       iPad Air 2       iPad Air 2        0     440.00  1
## 1042       iPad Air 2       iPad Air 2        0     444.99  1
## 1043       iPad Air 2       iPad Air 2        0     445.00  1
## 1044       iPad Air 2       iPad Air 2        0     454.00  1
## 1045       iPad Air 2       iPad Air 2        0     454.68  1
## 1046       iPad Air 2       iPad Air 2        0     459.00  1
## 1047       iPad Air 2       iPad Air 2        0     459.95  1
## 1048       iPad Air 2       iPad Air 2        0     459.99  1
## 1049       iPad Air 2       iPad Air 2        0     469.99  1
## 1050       iPad Air 2       iPad Air 2        0     485.00  1
## 1051       iPad Air 2       iPad Air 2        0     489.99  1
## 1052       iPad Air 2       iPad Air 2        0     490.00  1
## 1053       iPad Air 2       iPad Air 2        0     490.95  1
## 1054       iPad Air 2       iPad Air 2        0     495.99  1
## 1055       iPad Air 2       iPad Air 2        0     499.95  1
## 1056       iPad Air 2       iPad Air 2        0     509.00  1
## 1057       iPad Air 2       iPad Air 2        0     510.00  1
## 1058       iPad Air 2       iPad Air 2        0     514.95  1
## 1059       iPad Air 2       iPad Air 2        0     515.00  1
## 1060       iPad Air 2       iPad Air 2        0     520.00  1
## 1061       iPad Air 2       iPad Air 2        0     528.00  1
## 1062       iPad Air 2       iPad Air 2        0     529.00  1
## 1063       iPad Air 2       iPad Air 2        0     529.95  1
## 1064       iPad Air 2       iPad Air 2        0     529.99  1
## 1065       iPad Air 2       iPad Air 2        0     549.90  1
## 1066       iPad Air 2       iPad Air 2        0     549.95  1
## 1067       iPad Air 2       iPad Air 2        0     559.00  1
## 1068       iPad Air 2       iPad Air 2        0     579.99  1
## 1069       iPad Air 2       iPad Air 2        0     585.99  1
## 1070       iPad Air 2       iPad Air 2        0     589.00  1
## 1071       iPad Air 2       iPad Air 2        0     590.00  1
## 1072       iPad Air 2       iPad Air 2        0     595.00  1
## 1073       iPad Air 2       iPad Air 2        0     598.98  1
## 1074       iPad Air 2       iPad Air 2        0     600.00  1
## 1075       iPad Air 2       iPad Air 2        0     614.99  1
## 1076       iPad Air 2       iPad Air 2        0     615.99  1
## 1077       iPad Air 2       iPad Air 2        0     619.00  1
## 1078       iPad Air 2       iPad Air 2        0     619.99  1
## 1079       iPad Air 2       iPad Air 2        0     624.99  1
## 1080       iPad Air 2       iPad Air 2        0     625.00  1
## 1081       iPad Air 2       iPad Air 2        0     629.00  1
## 1082       iPad Air 2       iPad Air 2        0     630.00  1
## 1083       iPad Air 2       iPad Air 2        0     634.99  1
## 1084       iPad Air 2       iPad Air 2        0     645.00  1
## 1085       iPad Air 2       iPad Air 2        0     645.99  1
## 1086       iPad Air 2       iPad Air 2        0     649.95  1
## 1087       iPad Air 2       iPad Air 2        0     649.99  1
## 1088       iPad Air 2       iPad Air 2        0     659.49  1
## 1089       iPad Air 2       iPad Air 2        0     660.00  1
## 1090       iPad Air 2       iPad Air 2        0     675.00  1
## 1091       iPad Air 2       iPad Air 2        0     679.95  1
## 1092       iPad Air 2       iPad Air 2        0     679.99  1
## 1093       iPad Air 2       iPad Air 2        0     680.00  1
## 1094       iPad Air 2       iPad Air 2        0     710.00  1
## 1095       iPad Air 2       iPad Air 2        0     730.00  1
## 1096       iPad Air 2       iPad Air 2        0     740.00  1
## 1097       iPad Air 2       iPad Air 2        0     749.99  1
## 1098       iPad Air 2       iPad Air 2        0     785.00  1
## 1099       iPad Air 2       iPad Air 2        0     789.00  1
## 1100       iPad Air 2       iPad Air 2        0     789.99  1
## 1101       iPad Air 2       iPad Air 2        0     795.00  1
## 1102       iPad Air 2       iPad Air 2        0     798.00  1
## 1103       iPad Air 2       iPad Air 2        0     799.00  1
## 1104       iPad Air 2       iPad Air 2        0     829.99  1
## 1105       iPad Air 2       iPad Air 2        0     879.99  1
## 1106       iPad Air 2       iPad Air 2        0     899.99  1
## 1107       iPad Air 2       iPad Air 2        0     900.00  1
## 1108       iPad Air 2       iPad Air 2        0     939.00  1
## 1109        iPad mini          Unknown        1     190.00  1
## 1110        iPad mini          Unknown        1     409.99  1
## 1111        iPad mini          Unknown        1     999.99  1
## 1112        iPad mini        iPad mini        0       0.98  1
## 1113        iPad mini        iPad mini        0       9.99  1
## 1114        iPad mini        iPad mini        0      10.99  1
## 1115        iPad mini        iPad mini        0      19.50  1
## 1116        iPad mini        iPad mini        0      19.99  1
## 1117        iPad mini        iPad mini        0      29.99  1
## 1118        iPad mini        iPad mini        0      40.00  1
## 1119        iPad mini        iPad mini        0      42.00  1
## 1120        iPad mini        iPad mini        0      49.95  1
## 1121        iPad mini        iPad mini        0      59.99  1
## 1122        iPad mini        iPad mini        0      62.00  1
## 1123        iPad mini        iPad mini        0      74.95  1
## 1124        iPad mini        iPad mini        0      74.99  1
## 1125        iPad mini        iPad mini        0      79.00  1
## 1126        iPad mini        iPad mini        0      79.99  1
## 1127        iPad mini        iPad mini        0      84.99  1
## 1128        iPad mini        iPad mini        0      89.00  1
## 1129        iPad mini        iPad mini        0     109.00  1
## 1130        iPad mini        iPad mini        0     109.99  1
## 1131        iPad mini        iPad mini        0     110.00  1
## 1132        iPad mini        iPad mini        0     112.00  1
## 1133        iPad mini        iPad mini        0     113.00  1
## 1134        iPad mini        iPad mini        0     118.00  1
## 1135        iPad mini        iPad mini        0     119.98  1
## 1136        iPad mini        iPad mini        0     129.00  1
## 1137        iPad mini        iPad mini        0     129.95  1
## 1138        iPad mini        iPad mini        0     129.99  1
## 1139        iPad mini        iPad mini        0     135.00  1
## 1140        iPad mini        iPad mini        0     139.00  1
## 1141        iPad mini        iPad mini        0     140.00  1
## 1142        iPad mini        iPad mini        0     144.99  1
## 1143        iPad mini        iPad mini        0     145.00  1
## 1144        iPad mini        iPad mini        0     149.59  1
## 1145        iPad mini        iPad mini        0     149.95  1
## 1146        iPad mini        iPad mini        0     149.99  1
## 1147        iPad mini        iPad mini        0     159.95  1
## 1148        iPad mini        iPad mini        0     160.57  1
## 1149        iPad mini        iPad mini        0     168.00  1
## 1150        iPad mini        iPad mini        0     170.00  1
## 1151        iPad mini        iPad mini        0     171.95  1
## 1152        iPad mini        iPad mini        0     176.27  1
## 1153        iPad mini        iPad mini        0     178.99  1
## 1154        iPad mini        iPad mini        0     179.00  1
## 1155        iPad mini        iPad mini        0     179.96  1
## 1156        iPad mini        iPad mini        0     180.00  1
## 1157        iPad mini        iPad mini        0     181.00  1
## 1158        iPad mini        iPad mini        0     184.99  1
## 1159        iPad mini        iPad mini        0     185.00  1
## 1160        iPad mini        iPad mini        0     185.49  1
## 1161        iPad mini        iPad mini        0     187.89  1
## 1162        iPad mini        iPad mini        0     188.88  1
## 1163        iPad mini        iPad mini        0     190.00  1
## 1164        iPad mini        iPad mini        0     194.29  1
## 1165        iPad mini        iPad mini        0     195.00  1
## 1166        iPad mini        iPad mini        0     198.00  1
## 1167        iPad mini        iPad mini        0     199.97  1
## 1168        iPad mini        iPad mini        0     205.00  1
## 1169        iPad mini        iPad mini        0     208.00  1
## 1170        iPad mini        iPad mini        0     208.99  1
## 1171        iPad mini        iPad mini        0     209.00  1
## 1172        iPad mini        iPad mini        0     209.85  1
## 1173        iPad mini        iPad mini        0     209.99  1
## 1174        iPad mini        iPad mini        0     211.50  1
## 1175        iPad mini        iPad mini        0     212.99  1
## 1176        iPad mini        iPad mini        0     214.98  1
## 1177        iPad mini        iPad mini        0     215.99  1
## 1178        iPad mini        iPad mini        0     219.00  1
## 1179        iPad mini        iPad mini        0     220.00  1
## 1180        iPad mini        iPad mini        0     227.88  1
## 1181        iPad mini        iPad mini        0     235.00  1
## 1182        iPad mini        iPad mini        0     239.00  1
## 1183        iPad mini        iPad mini        0     240.00  1
## 1184        iPad mini        iPad mini        0     241.88  1
## 1185        iPad mini        iPad mini        0     244.97  1
## 1186        iPad mini        iPad mini        0     249.95  1
## 1187        iPad mini        iPad mini        0     252.88  1
## 1188        iPad mini        iPad mini        0     255.00  1
## 1189        iPad mini        iPad mini        0     258.88  1
## 1190        iPad mini        iPad mini        0     259.00  1
## 1191        iPad mini        iPad mini        0     260.00  1
## 1192        iPad mini        iPad mini        0     265.00  1
## 1193        iPad mini        iPad mini        0     265.99  1
## 1194        iPad mini        iPad mini        0     271.00  1
## 1195        iPad mini        iPad mini        0     279.00  1
## 1196        iPad mini        iPad mini        0     279.50  1
## 1197        iPad mini        iPad mini        0     279.99  1
## 1198        iPad mini        iPad mini        0     289.00  1
## 1199        iPad mini        iPad mini        0     289.99  1
## 1200        iPad mini        iPad mini        0     295.00  1
## 1201        iPad mini        iPad mini        0     298.00  1
## 1202        iPad mini        iPad mini        0     299.95  1
## 1203        iPad mini        iPad mini        0     310.00  1
## 1204        iPad mini        iPad mini        0     315.00  1
## 1205        iPad mini        iPad mini        0     320.00  1
## 1206        iPad mini        iPad mini        0     334.95  1
## 1207        iPad mini        iPad mini        0     339.99  1
## 1208        iPad mini        iPad mini        0     348.60  1
## 1209        iPad mini        iPad mini        0     349.99  1
## 1210        iPad mini        iPad mini        0     351.00  1
## 1211        iPad mini        iPad mini        0     358.87  1
## 1212        iPad mini        iPad mini        0     370.00  1
## 1213        iPad mini        iPad mini        0     375.00  1
## 1214        iPad mini        iPad mini        0     379.99  1
## 1215        iPad mini        iPad mini        0     385.00  1
## 1216        iPad mini        iPad mini        0     387.45  1
## 1217        iPad mini        iPad mini        0     388.30  1
## 1218        iPad mini        iPad mini        0     397.75  1
## 1219        iPad mini        iPad mini        0     398.99  1
## 1220        iPad mini        iPad mini        0     399.99  1
## 1221        iPad mini        iPad mini        0     429.99  1
## 1222        iPad mini        iPad mini        0     475.00  1
## 1223        iPad mini        iPad mini        0     499.99  1
## 1224        iPad mini        iPad mini        0     720.12  1
## 1225        iPad mini        iPad mini        0     999.00  1
## 1226        iPad mini        iPad mini        1       9.99  1
## 1227        iPad mini        iPad mini        1      49.99  1
## 1228        iPad mini        iPad mini        1     100.00  1
## 1229        iPad mini        iPad mini        1     149.00  1
## 1230        iPad mini        iPad mini        1     169.99  1
## 1231        iPad mini        iPad mini        1     249.99  1
## 1232        iPad mini        iPad mini        1     429.00  1
## 1233        iPad mini        iPad mini        2      99.99  1
## 1234      iPad mini 2      iPad mini 2        0       0.01  1
## 1235      iPad mini 2      iPad mini 2        0      10.00  1
## 1236      iPad mini 2      iPad mini 2        0      25.00  1
## 1237      iPad mini 2      iPad mini 2        0      49.99  1
## 1238      iPad mini 2      iPad mini 2        0      79.95  1
## 1239      iPad mini 2      iPad mini 2        0      99.97  1
## 1240      iPad mini 2      iPad mini 2        0     119.00  1
## 1241      iPad mini 2      iPad mini 2        0     129.99  1
## 1242      iPad mini 2      iPad mini 2        0     130.00  1
## 1243      iPad mini 2      iPad mini 2        0     145.00  1
## 1244      iPad mini 2      iPad mini 2        0     149.00  1
## 1245      iPad mini 2      iPad mini 2        0     149.95  1
## 1246      iPad mini 2      iPad mini 2        0     150.00  1
## 1247      iPad mini 2      iPad mini 2        0     155.00  1
## 1248      iPad mini 2      iPad mini 2        0     160.00  1
## 1249      iPad mini 2      iPad mini 2        0     185.00  1
## 1250      iPad mini 2      iPad mini 2        0     199.00  1
## 1251      iPad mini 2      iPad mini 2        0     209.98  1
## 1252      iPad mini 2      iPad mini 2        0     210.00  1
## 1253      iPad mini 2      iPad mini 2        0     215.00  1
## 1254      iPad mini 2      iPad mini 2        0     217.00  1
## 1255      iPad mini 2      iPad mini 2        0     222.72  1
## 1256      iPad mini 2      iPad mini 2        0     223.00  1
## 1257      iPad mini 2      iPad mini 2        0     229.00  1
## 1258      iPad mini 2      iPad mini 2        0     237.00  1
## 1259      iPad mini 2      iPad mini 2        0     239.00  1
## 1260      iPad mini 2      iPad mini 2        0     239.99  1
## 1261      iPad mini 2      iPad mini 2        0     245.00  1
## 1262      iPad mini 2      iPad mini 2        0     248.18  1
## 1263      iPad mini 2      iPad mini 2        0     249.00  1
## 1264      iPad mini 2      iPad mini 2        0     259.95  1
## 1265      iPad mini 2      iPad mini 2        0     260.00  1
## 1266      iPad mini 2      iPad mini 2        0     264.99  1
## 1267      iPad mini 2      iPad mini 2        0     279.99  1
## 1268      iPad mini 2      iPad mini 2        0     289.95  1
## 1269      iPad mini 2      iPad mini 2        0     295.00  1
## 1270      iPad mini 2      iPad mini 2        0     299.99  1
## 1271      iPad mini 2      iPad mini 2        0     308.00  1
## 1272      iPad mini 2      iPad mini 2        0     310.00  1
## 1273      iPad mini 2      iPad mini 2        0     319.98  1
## 1274      iPad mini 2      iPad mini 2        0     319.99  1
## 1275      iPad mini 2      iPad mini 2        0     327.58  1
## 1276      iPad mini 2      iPad mini 2        0     339.00  1
## 1277      iPad mini 2      iPad mini 2        0     339.99  1
## 1278      iPad mini 2      iPad mini 2        0     376.00  1
## 1279      iPad mini 2      iPad mini 2        0     379.99  1
## 1280      iPad mini 2      iPad mini 2        0     380.00  1
## 1281      iPad mini 2      iPad mini 2        0     385.00  1
## 1282      iPad mini 2      iPad mini 2        0     387.00  1
## 1283      iPad mini 2      iPad mini 2        0     395.00  1
## 1284      iPad mini 2      iPad mini 2        0     400.00  1
## 1285      iPad mini 2      iPad mini 2        0     429.99  1
## 1286      iPad mini 2      iPad mini 2        0     430.00  1
## 1287      iPad mini 2      iPad mini 2        0     449.00  1
## 1288      iPad mini 2      iPad mini 2        0     450.00  1
## 1289      iPad mini 2      iPad mini 2        0     458.00  1
## 1290      iPad mini 2      iPad mini 2        0     460.00  1
## 1291      iPad mini 2      iPad mini 2        0     469.00  1
## 1292      iPad mini 2      iPad mini 2        0     500.00  1
## 1293      iPad mini 2      iPad mini 2        0     509.00  1
## 1294      iPad mini 2      iPad mini 2        0     550.00  1
## 1295      iPad mini 2      iPad mini 2        0     575.00  1
## 1296      iPad mini 2      iPad mini 2        0     595.00  1
## 1297      iPad mini 2      iPad mini 2        1     195.00  1
## 1298      iPad mini 2      iPad mini 2        1     201.99  1
## 1299      iPad mini 2      iPad mini 2        1     225.00  1
## 1300      iPad mini 2      iPad mini 2        1     238.80  1
## 1301      iPad mini 2      iPad mini 2        1     249.00  1
## 1302      iPad mini 2      iPad mini 2        1     300.00  1
## 1303      iPad mini 2      iPad mini 2        1     350.25  1
## 1304      iPad mini 3      iPad mini 3        0       0.45  1
## 1305      iPad mini 3      iPad mini 3        0       9.95  1
## 1306      iPad mini 3      iPad mini 3        0      25.00  1
## 1307      iPad mini 3      iPad mini 3        0     100.00  1
## 1308      iPad mini 3      iPad mini 3        0     149.00  1
## 1309      iPad mini 3      iPad mini 3        0     175.00  1
## 1310      iPad mini 3      iPad mini 3        0     197.97  1
## 1311      iPad mini 3      iPad mini 3        0     199.99  1
## 1312      iPad mini 3      iPad mini 3        0     249.00  1
## 1313      iPad mini 3      iPad mini 3        0     250.00  1
## 1314      iPad mini 3      iPad mini 3        0     290.00  1
## 1315      iPad mini 3      iPad mini 3        0     295.95  1
## 1316      iPad mini 3      iPad mini 3        0     299.00  1
## 1317      iPad mini 3      iPad mini 3        0     309.95  1
## 1318      iPad mini 3      iPad mini 3        0     329.00  1
## 1319      iPad mini 3      iPad mini 3        0     331.99  1
## 1320      iPad mini 3      iPad mini 3        0     332.50  1
## 1321      iPad mini 3      iPad mini 3        0     334.00  1
## 1322      iPad mini 3      iPad mini 3        0     335.00  1
## 1323      iPad mini 3      iPad mini 3        0     339.50  1
## 1324      iPad mini 3      iPad mini 3        0     339.98  1
## 1325      iPad mini 3      iPad mini 3        0     340.00  1
## 1326      iPad mini 3      iPad mini 3        0     349.95  1
## 1327      iPad mini 3      iPad mini 3        0     349.99  1
## 1328      iPad mini 3      iPad mini 3        0     359.00  1
## 1329      iPad mini 3      iPad mini 3        0     359.99  1
## 1330      iPad mini 3      iPad mini 3        0     370.00  1
## 1331      iPad mini 3      iPad mini 3        0     379.95  1
## 1332      iPad mini 3      iPad mini 3        0     379.99  1
## 1333      iPad mini 3      iPad mini 3        0     380.00  1
## 1334      iPad mini 3      iPad mini 3        0     385.00  1
## 1335      iPad mini 3      iPad mini 3        0     394.99  1
## 1336      iPad mini 3      iPad mini 3        0     399.00  1
## 1337      iPad mini 3      iPad mini 3        0     419.95  1
## 1338      iPad mini 3      iPad mini 3        0     425.00  1
## 1339      iPad mini 3      iPad mini 3        0     426.99  1
## 1340      iPad mini 3      iPad mini 3        0     439.99  1
## 1341      iPad mini 3      iPad mini 3        0     445.95  1
## 1342      iPad mini 3      iPad mini 3        0     449.95  1
## 1343      iPad mini 3      iPad mini 3        0     450.00  1
## 1344      iPad mini 3      iPad mini 3        0     459.99  1
## 1345      iPad mini 3      iPad mini 3        0     469.99  1
## 1346      iPad mini 3      iPad mini 3        0     475.00  1
## 1347      iPad mini 3      iPad mini 3        0     485.00  1
## 1348      iPad mini 3      iPad mini 3        0     510.00  1
## 1349      iPad mini 3      iPad mini 3        0     525.00  1
## 1350      iPad mini 3      iPad mini 3        0     529.99  1
## 1351      iPad mini 3      iPad mini 3        0     549.99  1
## 1352      iPad mini 3      iPad mini 3        0     550.00  1
## 1353      iPad mini 3      iPad mini 3        0     559.99  1
## 1354      iPad mini 3      iPad mini 3        0     569.00  1
## 1355      iPad mini 3      iPad mini 3        0     575.00  1
## 1356      iPad mini 3      iPad mini 3        0     579.99  1
## 1357      iPad mini 3      iPad mini 3        0     609.99  1
## 1358      iPad mini 3      iPad mini 3        0     614.99  1
## 1359      iPad mini 3      iPad mini 3        0     639.99  1
## 1360      iPad mini 3      iPad mini 3        0     650.00  1
## 1361      iPad mini 3      iPad mini 3        0     689.99  1
## 1362      iPad mini 3      iPad mini 3        0     799.99  1
## 1363      iPad mini 3      iPad mini 3        0     948.98  1
## 1364      iPad mini 3      iPad mini 3        1     400.00  1
## 1365      iPad mini 3      iPad mini 3        1     419.99  1
## 1366      iPad mini 3      iPad mini 3        1     460.00  1
## 1367      iPad mini 3      iPad mini 3        1     499.99  1
## 1368      iPad mini 3      iPad mini 3        1     599.99  1
## 1369 iPad mini Retina iPad mini Retina        0     160.00  1
## 1370 iPad mini Retina iPad mini Retina        0     235.00  1
## 1371 iPad mini Retina iPad mini Retina        0     250.00  1
## 1372 iPad mini Retina iPad mini Retina        0     299.00  1
## 1373 iPad mini Retina iPad mini Retina        0     339.00  1
## 1374 iPad mini Retina iPad mini Retina        0     350.00  1
## 1375 iPad mini Retina iPad mini Retina        0     420.00  1
## 1376 iPad mini Retina iPad mini Retina        1     303.67  1
glb_allobs_df[glb_allobs_df$UniqueID == 11863, "D.P.air"] <- 0
glb_allobs_df[(glb_allobs_df$D.P.air == 1) & (glb_allobs_df$productline == "Unknown"), "prdline.my"] <- "iPad Air"
print(mycreate_sqlxtab_df(glb_allobs_df, c("prdline.my", "productline", "D.P.air", glb_rsp_var)))
##            prdline.my      productline D.P.air startprice .n
## 1              iPad 2           iPad 2       0       0.99 38
## 2           iPad mini        iPad mini       0       0.99 34
## 3              iPad 1           iPad 1       0       0.99 26
## 4             Unknown          Unknown       0       0.99 25
## 5              iPad 1           iPad 1       0      50.00 22
## 6           iPad mini        iPad mini       0     150.00 20
## 7            iPad Air         iPad Air       0       0.99 17
## 8              iPad 2           iPad 2       0     150.00 16
## 9              iPad 4           iPad 4       0       0.99 15
## 10          iPad mini        iPad mini       0     100.00 15
## 11             iPad 2           iPad 2       0     100.00 13
## 12         iPad Air 2       iPad Air 2       0       0.99 13
## 13        iPad mini 2      iPad mini 2       0       0.99 13
## 14             iPad 1           iPad 1       0      80.00 12
## 15             iPad 3           iPad 3       0       0.99 12
## 16             iPad 3           iPad 3       0     200.00 12
## 17             iPad 1           iPad 1       0      90.00 11
## 18             iPad 2           iPad 2       0     175.00 11
## 19          iPad mini        iPad mini       0      99.99 11
## 20            Unknown          Unknown       0     150.00 10
## 21             iPad 1           iPad 1       0      75.00 10
## 22             iPad 1           iPad 1       0     100.00 10
## 23             iPad 2           iPad 2       0       0.01 10
## 24             iPad 3           iPad 3       0     250.00 10
## 25          iPad mini        iPad mini       0      50.00 10
## 26            Unknown          Unknown       0     100.00  9
## 27             iPad 2           iPad 2       0      99.99  9
## 28             iPad 2           iPad 2       0     149.99  9
## 29             iPad 2           iPad 2       0     199.99  9
## 30           iPad Air         iPad Air       0     300.00  9
## 31          iPad mini        iPad mini       0     199.99  9
## 32            Unknown          Unknown       0     300.00  8
## 33             iPad 1           iPad 1       0      95.00  8
## 34             iPad 2           iPad 2       0      99.00  8
## 35             iPad 2           iPad 2       0     125.00  8
## 36             iPad 2           iPad 2       0     200.00  8
## 37             iPad 4           iPad 4       0     249.99  8
## 38         iPad Air 2       iPad Air 2       0     550.00  8
## 39          iPad mini        iPad mini       0     200.00  8
## 40        iPad mini 2      iPad mini 2       0     350.00  8
## 41            Unknown          Unknown       0      50.00  7
## 42             iPad 1           iPad 1       0      70.00  7
## 43             iPad 2           iPad 2       0       9.99  7
## 44             iPad 2           iPad 2       0      75.00  7
## 45             iPad 2           iPad 2       0     180.00  7
## 46             iPad 4           iPad 4       0     199.99  7
## 47          iPad mini        iPad mini       0      99.00  7
## 48        iPad mini 3      iPad mini 3       0       0.99  7
## 49             iPad 1           iPad 1       0       1.00  6
## 50             iPad 2           iPad 2       0      50.00  6
## 51             iPad 2           iPad 2       0     160.00  6
## 52             iPad 4           iPad 4       0     100.00  6
## 53             iPad 4           iPad 4       0     150.00  6
## 54           iPad Air         iPad Air       0       1.00  6
## 55           iPad Air         iPad Air       0     200.00  6
## 56           iPad Air         iPad Air       0     400.00  6
## 57         iPad Air 2       iPad Air 2       0     450.00  6
## 58          iPad mini        iPad mini       0      75.00  6
## 59          iPad mini        iPad mini       0      89.99  6
## 60          iPad mini        iPad mini       0     159.99  6
## 61          iPad mini        iPad mini       0     175.00  6
## 62          iPad mini        iPad mini       0     199.00  6
## 63        iPad mini 2      iPad mini 2       0     225.00  6
## 64             iPad 1           iPad 1       0      29.99  5
## 65             iPad 1           iPad 1       0      55.00  5
## 66             iPad 1           iPad 1       0      79.99  5
## 67             iPad 1           iPad 1       0      99.00  5
## 68             iPad 2           iPad 2       0      80.00  5
## 69             iPad 2           iPad 2       0     165.00  5
## 70             iPad 2           iPad 2       0     179.00  5
## 71             iPad 3           iPad 3       0      99.00  5
## 72             iPad 3           iPad 3       0     150.00  5
## 73             iPad 3           iPad 3       0     220.00  5
## 74             iPad 3           iPad 3       0     225.00  5
## 75             iPad 3           iPad 3       0     300.00  5
## 76             iPad 4           iPad 4       0     250.00  5
## 77             iPad 4           iPad 4       0     279.99  5
## 78             iPad 4           iPad 4       0     400.00  5
## 79           iPad Air         iPad Air       0     100.00  5
## 80           iPad Air         iPad Air       0     250.00  5
## 81           iPad Air         iPad Air       0     350.00  5
## 82           iPad Air         iPad Air       0     389.99  5
## 83         iPad Air 2       iPad Air 2       0     499.99  5
## 84          iPad mini        iPad mini       0       1.00  5
## 85          iPad mini        iPad mini       0     250.00  5
## 86          iPad mini        iPad mini       0     350.00  5
## 87        iPad mini 2      iPad mini 2       0     200.00  5
## 88        iPad mini 3      iPad mini 3       0     499.99  5
## 89        iPad mini 3      iPad mini 3       0     599.99  5
## 90            Unknown          Unknown       0      25.00  4
## 91            Unknown          Unknown       0     149.99  4
## 92            Unknown          Unknown       0     250.00  4
## 93             iPad 1           iPad 1       0      40.00  4
## 94             iPad 1           iPad 1       0      49.99  4
## 95             iPad 1           iPad 1       0      79.00  4
## 96             iPad 1           iPad 1       0     105.00  4
## 97             iPad 1           iPad 1       0     110.00  4
## 98             iPad 2           iPad 2       0       1.00  4
## 99             iPad 2           iPad 2       0      40.00  4
## 100            iPad 2           iPad 2       0      49.99  4
## 101            iPad 2           iPad 2       0     130.00  4
## 102            iPad 2           iPad 2       0     140.00  4
## 103            iPad 2           iPad 2       0     155.00  4
## 104            iPad 2           iPad 2       0     164.99  4
## 105            iPad 2           iPad 2       0     174.99  4
## 106            iPad 2           iPad 2       0     179.99  4
## 107            iPad 2           iPad 2       0     189.99  4
## 108            iPad 2           iPad 2       0     250.00  4
## 109            iPad 3           iPad 3       0     100.00  4
## 110            iPad 3           iPad 3       0     149.99  4
## 111            iPad 3           iPad 3       0     175.00  4
## 112            iPad 3           iPad 3       0     199.99  4
## 113            iPad 3           iPad 3       0     219.99  4
## 114            iPad 3           iPad 3       0     249.99  4
## 115            iPad 3           iPad 3       0     275.00  4
## 116            iPad 4           iPad 4       0       0.01  4
## 117            iPad 4           iPad 4       0      99.99  4
## 118            iPad 4           iPad 4       0     200.00  4
## 119            iPad 4           iPad 4       0     299.00  4
## 120          iPad Air         iPad Air       0     279.99  4
## 121          iPad Air         iPad Air       0     325.00  4
## 122          iPad Air         iPad Air       0     329.99  4
## 123          iPad Air         iPad Air       0     500.00  4
## 124        iPad Air 2       iPad Air 2       0     250.00  4
## 125        iPad Air 2       iPad Air 2       0     350.00  4
## 126        iPad Air 2       iPad Air 2       0     399.00  4
## 127        iPad Air 2       iPad Air 2       0     399.99  4
## 128        iPad Air 2       iPad Air 2       0     400.00  4
## 129        iPad Air 2       iPad Air 2       0     500.00  4
## 130        iPad Air 2       iPad Air 2       0     549.99  4
## 131         iPad mini        iPad mini       0     119.99  4
## 132         iPad mini        iPad mini       0     130.00  4
## 133         iPad mini        iPad mini       0     149.00  4
## 134         iPad mini        iPad mini       0     249.99  4
## 135         iPad mini        iPad mini       0     275.00  4
## 136         iPad mini        iPad mini       0     300.00  4
## 137       iPad mini 2      iPad mini 2       0     175.00  4
## 138       iPad mini 2      iPad mini 2       0     250.00  4
## 139       iPad mini 2      iPad mini 2       0     300.00  4
## 140       iPad mini 3      iPad mini 3       0     325.00  4
## 141       iPad mini 3      iPad mini 3       0     400.00  4
## 142           Unknown          Unknown       0      15.00  3
## 143           Unknown          Unknown       0      40.00  3
## 144           Unknown          Unknown       0      75.00  3
## 145           Unknown          Unknown       0      99.00  3
## 146           Unknown          Unknown       0     120.00  3
## 147           Unknown          Unknown       0     199.00  3
## 148           Unknown          Unknown       0     199.99  3
## 149           Unknown          Unknown       0     200.00  3
## 150           Unknown          Unknown       0     249.00  3
## 151           Unknown          Unknown       0     249.99  3
## 152           Unknown          Unknown       0     299.99  3
## 153           Unknown          Unknown       0     319.00  3
## 154           Unknown          Unknown       0     350.00  3
## 155            iPad 1           iPad 1       0       0.01  3
## 156            iPad 1           iPad 1       0      19.99  3
## 157            iPad 1           iPad 1       0      20.00  3
## 158            iPad 1           iPad 1       0      25.00  3
## 159            iPad 1           iPad 1       0      30.00  3
## 160            iPad 1           iPad 1       0      36.95  3
## 161            iPad 1           iPad 1       0      65.00  3
## 162            iPad 1           iPad 1       0      84.99  3
## 163            iPad 1           iPad 1       0      85.00  3
## 164            iPad 1           iPad 1       0      89.00  3
## 165            iPad 1           iPad 1       0      99.99  3
## 166            iPad 1           iPad 1       0     119.99  3
## 167            iPad 1           iPad 1       0     150.00  3
## 168            iPad 1           iPad 1       0     180.00  3
## 169            iPad 2           iPad 2       0      30.00  3
## 170            iPad 2           iPad 2       0      70.00  3
## 171            iPad 2           iPad 2       0      85.00  3
## 172            iPad 2           iPad 2       0      89.99  3
## 173            iPad 2           iPad 2       0      90.00  3
## 174            iPad 2           iPad 2       0     120.00  3
## 175            iPad 2           iPad 2       0     129.95  3
## 176            iPad 2           iPad 2       0     129.99  3
## 177            iPad 2           iPad 2       0     139.00  3
## 178            iPad 2           iPad 2       0     149.00  3
## 179            iPad 2           iPad 2       0     149.95  3
## 180            iPad 2           iPad 2       0     154.00  3
## 181            iPad 2           iPad 2       0     159.99  3
## 182            iPad 2           iPad 2       0     169.00  3
## 183            iPad 2           iPad 2       0     249.97  3
## 184            iPad 2           iPad 2       0     275.00  3
## 185            iPad 2           iPad 2       0     300.00  3
## 186            iPad 3           iPad 3       0       1.00  3
## 187            iPad 3           iPad 3       0       9.99  3
## 188            iPad 3           iPad 3       0      10.00  3
## 189            iPad 3           iPad 3       0      99.99  3
## 190            iPad 3           iPad 3       0     128.00  3
## 191            iPad 3           iPad 3       0     185.00  3
## 192            iPad 3           iPad 3       0     187.50  3
## 193            iPad 3           iPad 3       0     199.00  3
## 194            iPad 4           iPad 4       0      50.00  3
## 195            iPad 4           iPad 4       0     225.00  3
## 196            iPad 4           iPad 4       0     259.99  3
## 197            iPad 4           iPad 4       0     275.00  3
## 198            iPad 4           iPad 4       0     280.00  3
## 199            iPad 4           iPad 4       0     300.00  3
## 200            iPad 4           iPad 4       0     320.00  3
## 201          iPad Air         iPad Air       0      90.00  3
## 202          iPad Air         iPad Air       0     199.99  3
## 203          iPad Air         iPad Air       0     229.00  3
## 204          iPad Air         iPad Air       0     299.99  3
## 205          iPad Air         iPad Air       0     320.00  3
## 206          iPad Air         iPad Air       0     379.00  3
## 207          iPad Air         iPad Air       0     415.00  3
## 208        iPad Air 2       iPad Air 2       0       1.00  3
## 209        iPad Air 2       iPad Air 2       0      50.00  3
## 210        iPad Air 2       iPad Air 2       0     199.99  3
## 211        iPad Air 2       iPad Air 2       0     425.00  3
## 212        iPad Air 2       iPad Air 2       0     439.99  3
## 213        iPad Air 2       iPad Air 2       0     480.00  3
## 214        iPad Air 2       iPad Air 2       0     499.00  3
## 215        iPad Air 2       iPad Air 2       0     525.00  3
## 216        iPad Air 2       iPad Air 2       0     560.00  3
## 217         iPad mini        iPad mini       0       0.01  3
## 218         iPad mini        iPad mini       0      20.00  3
## 219         iPad mini        iPad mini       0      25.00  3
## 220         iPad mini        iPad mini       0      45.00  3
## 221         iPad mini        iPad mini       0      60.00  3
## 222         iPad mini        iPad mini       0     125.00  3
## 223         iPad mini        iPad mini       0     160.00  3
## 224         iPad mini        iPad mini       0     179.00  3
## 225         iPad mini        iPad mini       0     179.99  3
## 226         iPad mini        iPad mini       0     189.99  3
## 227         iPad mini        iPad mini       0     210.00  3
## 228         iPad mini        iPad mini       0     259.99  3
## 229         iPad mini        iPad mini       0     290.00  3
## 230         iPad mini        iPad mini       0     400.00  3
## 231       iPad mini 2      iPad mini 2       0     100.00  3
## 232       iPad mini 2      iPad mini 2       0     120.00  3
## 233       iPad mini 2      iPad mini 2       0     180.00  3
## 234       iPad mini 2      iPad mini 2       0     285.00  3
## 235       iPad mini 2      iPad mini 2       0     375.00  3
## 236       iPad mini 3      iPad mini 3       0      99.00  3
## 237       iPad mini 3      iPad mini 3       0     300.00  3
## 238       iPad mini 3      iPad mini 3       0     329.99  3
## 239       iPad mini 3      iPad mini 3       0     350.00  3
## 240       iPad mini 3      iPad mini 3       0     399.99  3
## 241       iPad mini 3      iPad mini 3       0     449.99  3
## 242       iPad mini 3      iPad mini 3       0     729.99  3
## 243           Unknown          Unknown       0       5.00  2
## 244           Unknown          Unknown       0       9.99  2
## 245           Unknown          Unknown       0      19.99  2
## 246           Unknown          Unknown       0      20.00  2
## 247           Unknown          Unknown       0      39.99  2
## 248           Unknown          Unknown       0      70.00  2
## 249           Unknown          Unknown       0      79.95  2
## 250           Unknown          Unknown       0      80.00  2
## 251           Unknown          Unknown       0      99.99  2
## 252           Unknown          Unknown       0     108.00  2
## 253           Unknown          Unknown       0     159.99  2
## 254           Unknown          Unknown       0     165.00  2
## 255           Unknown          Unknown       0     169.99  2
## 256           Unknown          Unknown       0     175.00  2
## 257           Unknown          Unknown       0     185.00  2
## 258           Unknown          Unknown       0     280.00  2
## 259           Unknown          Unknown       0     319.99  2
## 260           Unknown          Unknown       0     375.00  2
## 261           Unknown          Unknown       0     399.00  2
## 262           Unknown          Unknown       0     450.00  2
## 263           Unknown          Unknown       0     500.00  2
## 264           Unknown          Unknown       0     599.99  2
## 265           Unknown          Unknown       0     700.00  2
## 266            iPad 1           iPad 1       0       9.50  2
## 267            iPad 1           iPad 1       0       9.99  2
## 268            iPad 1           iPad 1       0      10.00  2
## 269            iPad 1           iPad 1       0      14.99  2
## 270            iPad 1           iPad 1       0      15.00  2
## 271            iPad 1           iPad 1       0      45.00  2
## 272            iPad 1           iPad 1       0      58.00  2
## 273            iPad 1           iPad 1       0      60.00  2
## 274            iPad 1           iPad 1       0      62.00  2
## 275            iPad 1           iPad 1       0      69.00  2
## 276            iPad 1           iPad 1       0      69.99  2
## 277            iPad 1           iPad 1       0      89.95  2
## 278            iPad 1           iPad 1       0      92.14  2
## 279            iPad 1           iPad 1       0     101.00  2
## 280            iPad 1           iPad 1       0     104.99  2
## 281            iPad 1           iPad 1       0     115.00  2
## 282            iPad 1           iPad 1       0     124.95  2
## 283            iPad 1           iPad 1       0     125.00  2
## 284            iPad 1           iPad 1       0     129.99  2
## 285            iPad 1           iPad 1       0     165.00  2
## 286            iPad 1           iPad 1       0     175.00  2
## 287            iPad 1           iPad 1       0     250.00  2
## 288            iPad 1           iPad 1       0     279.95  2
## 289            iPad 2           iPad 2       0       0.10  2
## 290            iPad 2           iPad 2       0      15.00  2
## 291            iPad 2           iPad 2       0      19.95  2
## 292            iPad 2           iPad 2       0      59.99  2
## 293            iPad 2           iPad 2       0      65.00  2
## 294            iPad 2           iPad 2       0      69.99  2
## 295            iPad 2           iPad 2       0      74.99  2
## 296            iPad 2           iPad 2       0      89.00  2
## 297            iPad 2           iPad 2       0      95.00  2
## 298            iPad 2           iPad 2       0     119.99  2
## 299            iPad 2           iPad 2       0     128.00  2
## 300            iPad 2           iPad 2       0     135.00  2
## 301            iPad 2           iPad 2       0     144.99  2
## 302            iPad 2           iPad 2       0     145.00  2
## 303            iPad 2           iPad 2       0     149.97  2
## 304            iPad 2           iPad 2       0     150.99  2
## 305            iPad 2           iPad 2       0     162.00  2
## 306            iPad 2           iPad 2       0     169.99  2
## 307            iPad 2           iPad 2       0     170.00  2
## 308            iPad 2           iPad 2       0     172.00  2
## 309            iPad 2           iPad 2       0     179.95  2
## 310            iPad 2           iPad 2       0     204.00  2
## 311            iPad 2           iPad 2       0     220.00  2
## 312            iPad 2           iPad 2       0     350.00  2
## 313            iPad 3           iPad 3       0       0.01  2
## 314            iPad 3           iPad 3       0      25.00  2
## 315            iPad 3           iPad 3       0      49.99  2
## 316            iPad 3           iPad 3       0      89.99  2
## 317            iPad 3           iPad 3       0      99.95  2
## 318            iPad 3           iPad 3       0     125.00  2
## 319            iPad 3           iPad 3       0     140.00  2
## 320            iPad 3           iPad 3       0     179.99  2
## 321            iPad 3           iPad 3       0     180.00  2
## 322            iPad 3           iPad 3       0     209.99  2
## 323            iPad 3           iPad 3       0     215.00  2
## 324            iPad 3           iPad 3       0     229.99  2
## 325            iPad 3           iPad 3       0     239.88  2
## 326            iPad 3           iPad 3       0     239.99  2
## 327            iPad 3           iPad 3       0     299.00  2
## 328            iPad 3           iPad 3       0     314.99  2
## 329            iPad 3           iPad 3       0     450.00  2
## 330            iPad 4           iPad 4       0      80.00  2
## 331            iPad 4           iPad 4       0      99.98  2
## 332            iPad 4           iPad 4       0     107.00  2
## 333            iPad 4           iPad 4       0     125.00  2
## 334            iPad 4           iPad 4       0     195.00  2
## 335            iPad 4           iPad 4       0     199.00  2
## 336            iPad 4           iPad 4       0     209.00  2
## 337            iPad 4           iPad 4       0     240.00  2
## 338            iPad 4           iPad 4       0     255.00  2
## 339            iPad 4           iPad 4       0     265.00  2
## 340            iPad 4           iPad 4       0     269.99  2
## 341            iPad 4           iPad 4       0     285.00  2
## 342            iPad 4           iPad 4       0     295.00  2
## 343            iPad 4           iPad 4       0     299.99  2
## 344            iPad 4           iPad 4       0     305.00  2
## 345            iPad 4           iPad 4       0     309.99  2
## 346            iPad 4           iPad 4       0     310.00  2
## 347            iPad 4           iPad 4       0     315.00  2
## 348            iPad 4           iPad 4       0     324.99  2
## 349            iPad 4           iPad 4       0     325.00  2
## 350            iPad 4           iPad 4       0     344.00  2
## 351            iPad 4           iPad 4       0     350.00  2
## 352            iPad 4           iPad 4       0     367.97  2
## 353            iPad 4           iPad 4       0     375.00  2
## 354            iPad 4           iPad 4       0     500.00  2
## 355            iPad 4           iPad 4       0     588.18  2
## 356          iPad Air         iPad Air       0      49.99  2
## 357          iPad Air         iPad Air       0      75.00  2
## 358          iPad Air         iPad Air       0      89.99  2
## 359          iPad Air         iPad Air       0      99.99  2
## 360          iPad Air         iPad Air       0     209.00  2
## 361          iPad Air         iPad Air       0     245.00  2
## 362          iPad Air         iPad Air       0     249.98  2
## 363          iPad Air         iPad Air       0     265.00  2
## 364          iPad Air         iPad Air       0     280.00  2
## 365          iPad Air         iPad Air       0     290.00  2
## 366          iPad Air         iPad Air       0     299.00  2
## 367          iPad Air         iPad Air       0     319.00  2
## 368          iPad Air         iPad Air       0     319.95  2
## 369          iPad Air         iPad Air       0     319.99  2
## 370          iPad Air         iPad Air       0     320.99  2
## 371          iPad Air         iPad Air       0     339.00  2
## 372          iPad Air         iPad Air       0     349.00  2
## 373          iPad Air         iPad Air       0     349.99  2
## 374          iPad Air         iPad Air       0     369.99  2
## 375          iPad Air         iPad Air       0     375.00  2
## 376          iPad Air         iPad Air       0     379.99  2
## 377          iPad Air         iPad Air       0     398.99  2
## 378          iPad Air         iPad Air       0     399.99  2
## 379          iPad Air         iPad Air       0     449.99  2
## 380          iPad Air         iPad Air       0     450.00  2
## 381          iPad Air         iPad Air       0     579.99  2
## 382          iPad Air         iPad Air       0     648.00  2
## 383          iPad Air         iPad Air       0     750.00  2
## 384        iPad Air 2       iPad Air 2       0      99.99  2
## 385        iPad Air 2       iPad Air 2       0     200.00  2
## 386        iPad Air 2       iPad Air 2       0     260.00  2
## 387        iPad Air 2       iPad Air 2       0     300.00  2
## 388        iPad Air 2       iPad Air 2       0     349.99  2
## 389        iPad Air 2       iPad Air 2       0     379.99  2
## 390        iPad Air 2       iPad Air 2       0     419.00  2
## 391        iPad Air 2       iPad Air 2       0     449.00  2
## 392        iPad Air 2       iPad Air 2       0     475.00  2
## 393        iPad Air 2       iPad Air 2       0     549.00  2
## 394        iPad Air 2       iPad Air 2       0     559.99  2
## 395        iPad Air 2       iPad Air 2       0     575.00  2
## 396        iPad Air 2       iPad Air 2       0     639.00  2
## 397        iPad Air 2       iPad Air 2       0     639.99  2
## 398        iPad Air 2       iPad Air 2       0     650.00  2
## 399        iPad Air 2       iPad Air 2       0     729.99  2
## 400        iPad Air 2       iPad Air 2       0     749.00  2
## 401        iPad Air 2       iPad Air 2       0     749.95  2
## 402        iPad Air 2       iPad Air 2       1     465.99  2
## 403         iPad mini          Unknown       0     149.99  2
## 404         iPad mini        iPad mini       0       5.00  2
## 405         iPad mini        iPad mini       0       9.99  2
## 406         iPad mini        iPad mini       0      10.00  2
## 407         iPad mini        iPad mini       0      30.00  2
## 408         iPad mini        iPad mini       0      70.00  2
## 409         iPad mini        iPad mini       0      85.00  2
## 410         iPad mini        iPad mini       0      90.00  2
## 411         iPad mini        iPad mini       0      99.95  2
## 412         iPad mini        iPad mini       0     114.99  2
## 413         iPad mini        iPad mini       0     115.00  2
## 414         iPad mini        iPad mini       0     139.99  2
## 415         iPad mini        iPad mini       0     155.00  2
## 416         iPad mini        iPad mini       0     165.00  2
## 417         iPad mini        iPad mini       0     174.99  2
## 418         iPad mini        iPad mini       0     215.00  2
## 419         iPad mini        iPad mini       0     219.99  2
## 420         iPad mini        iPad mini       0     225.00  2
## 421         iPad mini        iPad mini       0     230.00  2
## 422         iPad mini        iPad mini       0     239.99  2
## 423         iPad mini        iPad mini       0     249.00  2
## 424         iPad mini        iPad mini       0     258.98  2
## 425         iPad mini        iPad mini       0     280.00  2
## 426         iPad mini        iPad mini       0     285.00  2
## 427         iPad mini        iPad mini       0     299.99  2
## 428       iPad mini 2      iPad mini 2       0       1.00  2
## 429       iPad mini 2      iPad mini 2       0      99.00  2
## 430       iPad mini 2      iPad mini 2       0      99.99  2
## 431       iPad mini 2      iPad mini 2       0     187.99  2
## 432       iPad mini 2      iPad mini 2       0     230.00  2
## 433       iPad mini 2      iPad mini 2       0     235.00  2
## 434       iPad mini 2      iPad mini 2       0     249.00  2
## 435       iPad mini 2      iPad mini 2       0     269.00  2
## 436       iPad mini 2      iPad mini 2       0     275.00  2
## 437       iPad mini 2      iPad mini 2       0     280.00  2
## 438       iPad mini 2      iPad mini 2       0     289.00  2
## 439       iPad mini 2      iPad mini 2       0     299.00  2
## 440       iPad mini 2      iPad mini 2       0     315.00  2
## 441       iPad mini 2      iPad mini 2       0     325.00  2
## 442       iPad mini 2      iPad mini 2       0     329.00  2
## 443       iPad mini 2      iPad mini 2       0     329.99  2
## 444       iPad mini 2      iPad mini 2       0     349.99  2
## 445       iPad mini 2      iPad mini 2       0     399.99  2
## 446       iPad mini 2      iPad mini 2       0     499.00  2
## 447       iPad mini 3      iPad mini 3       0       0.01  2
## 448       iPad mini 3      iPad mini 3       0     199.00  2
## 449       iPad mini 3      iPad mini 3       0     284.99  2
## 450       iPad mini 3      iPad mini 3       0     299.99  2
## 451       iPad mini 3      iPad mini 3       0     345.00  2
## 452       iPad mini 3      iPad mini 3       0     349.00  2
## 453       iPad mini 3      iPad mini 3       0     375.00  2
## 454       iPad mini 3      iPad mini 3       0     389.99  2
## 455       iPad mini 3      iPad mini 3       0     498.88  2
## 456       iPad mini 3      iPad mini 3       0     500.00  2
## 457           Unknown          Unknown       0       0.01  1
## 458           Unknown          Unknown       0       1.00  1
## 459           Unknown          Unknown       0       2.99  1
## 460           Unknown          Unknown       0       3.99  1
## 461           Unknown          Unknown       0       4.69  1
## 462           Unknown          Unknown       0       4.99  1
## 463           Unknown          Unknown       0       5.65  1
## 464           Unknown          Unknown       0       7.99  1
## 465           Unknown          Unknown       0       8.99  1
## 466           Unknown          Unknown       0       9.95  1
## 467           Unknown          Unknown       0      10.00  1
## 468           Unknown          Unknown       0      14.00  1
## 469           Unknown          Unknown       0      14.49  1
## 470           Unknown          Unknown       0      14.99  1
## 471           Unknown          Unknown       0      17.75  1
## 472           Unknown          Unknown       0      24.99  1
## 473           Unknown          Unknown       0      28.00  1
## 474           Unknown          Unknown       0      28.75  1
## 475           Unknown          Unknown       0      30.00  1
## 476           Unknown          Unknown       0      30.99  1
## 477           Unknown          Unknown       0      32.95  1
## 478           Unknown          Unknown       0      35.00  1
## 479           Unknown          Unknown       0      37.98  1
## 480           Unknown          Unknown       0      41.00  1
## 481           Unknown          Unknown       0      43.20  1
## 482           Unknown          Unknown       0      44.99  1
## 483           Unknown          Unknown       0      45.00  1
## 484           Unknown          Unknown       0      49.95  1
## 485           Unknown          Unknown       0      49.99  1
## 486           Unknown          Unknown       0      51.99  1
## 487           Unknown          Unknown       0      52.25  1
## 488           Unknown          Unknown       0      57.50  1
## 489           Unknown          Unknown       0      58.00  1
## 490           Unknown          Unknown       0      59.95  1
## 491           Unknown          Unknown       0      59.99  1
## 492           Unknown          Unknown       0      63.00  1
## 493           Unknown          Unknown       0      65.00  1
## 494           Unknown          Unknown       0      69.00  1
## 495           Unknown          Unknown       0      70.99  1
## 496           Unknown          Unknown       0      76.00  1
## 497           Unknown          Unknown       0      87.00  1
## 498           Unknown          Unknown       0      89.00  1
## 499           Unknown          Unknown       0      90.00  1
## 500           Unknown          Unknown       0      91.00  1
## 501           Unknown          Unknown       0      99.46  1
## 502           Unknown          Unknown       0     109.99  1
## 503           Unknown          Unknown       0     110.00  1
## 504           Unknown          Unknown       0     114.48  1
## 505           Unknown          Unknown       0     116.33  1
## 506           Unknown          Unknown       0     118.84  1
## 507           Unknown          Unknown       0     118.95  1
## 508           Unknown          Unknown       0     119.99  1
## 509           Unknown          Unknown       0     124.99  1
## 510           Unknown          Unknown       0     125.00  1
## 511           Unknown          Unknown       0     127.95  1
## 512           Unknown          Unknown       0     137.95  1
## 513           Unknown          Unknown       0     139.00  1
## 514           Unknown          Unknown       0     139.99  1
## 515           Unknown          Unknown       0     145.00  1
## 516           Unknown          Unknown       0     149.98  1
## 517           Unknown          Unknown       0     150.87  1
## 518           Unknown          Unknown       0     154.99  1
## 519           Unknown          Unknown       0     155.00  1
## 520           Unknown          Unknown       0     167.38  1
## 521           Unknown          Unknown       0     168.00  1
## 522           Unknown          Unknown       0     170.00  1
## 523           Unknown          Unknown       0     174.00  1
## 524           Unknown          Unknown       0     177.99  1
## 525           Unknown          Unknown       0     179.99  1
## 526           Unknown          Unknown       0     180.00  1
## 527           Unknown          Unknown       0     182.77  1
## 528           Unknown          Unknown       0     186.00  1
## 529           Unknown          Unknown       0     188.00  1
## 530           Unknown          Unknown       0     190.99  1
## 531           Unknown          Unknown       0     193.15  1
## 532           Unknown          Unknown       0     195.00  1
## 533           Unknown          Unknown       0     196.79  1
## 534           Unknown          Unknown       0     199.97  1
## 535           Unknown          Unknown       0     210.00  1
## 536           Unknown          Unknown       0     214.95  1
## 537           Unknown          Unknown       0     215.00  1
## 538           Unknown          Unknown       0     220.00  1
## 539           Unknown          Unknown       0     224.00  1
## 540           Unknown          Unknown       0     225.00  1
## 541           Unknown          Unknown       0     229.00  1
## 542           Unknown          Unknown       0     229.95  1
## 543           Unknown          Unknown       0     229.99  1
## 544           Unknown          Unknown       0     230.00  1
## 545           Unknown          Unknown       0     232.99  1
## 546           Unknown          Unknown       0     239.99  1
## 547           Unknown          Unknown       0     255.00  1
## 548           Unknown          Unknown       0     259.00  1
## 549           Unknown          Unknown       0     259.99  1
## 550           Unknown          Unknown       0     260.00  1
## 551           Unknown          Unknown       0     265.00  1
## 552           Unknown          Unknown       0     275.00  1
## 553           Unknown          Unknown       0     276.99  1
## 554           Unknown          Unknown       0     279.00  1
## 555           Unknown          Unknown       0     285.00  1
## 556           Unknown          Unknown       0     289.00  1
## 557           Unknown          Unknown       0     295.00  1
## 558           Unknown          Unknown       0     309.98  1
## 559           Unknown          Unknown       0     325.00  1
## 560           Unknown          Unknown       0     329.99  1
## 561           Unknown          Unknown       0     334.99  1
## 562           Unknown          Unknown       0     339.00  1
## 563           Unknown          Unknown       0     340.00  1
## 564           Unknown          Unknown       0     347.00  1
## 565           Unknown          Unknown       0     349.99  1
## 566           Unknown          Unknown       0     380.00  1
## 567           Unknown          Unknown       0     389.00  1
## 568           Unknown          Unknown       0     395.00  1
## 569           Unknown          Unknown       0     408.60  1
## 570           Unknown          Unknown       0     415.00  1
## 571           Unknown          Unknown       0     419.99  1
## 572           Unknown          Unknown       0     425.99  1
## 573           Unknown          Unknown       0     426.30  1
## 574           Unknown          Unknown       0     439.98  1
## 575           Unknown          Unknown       0     470.00  1
## 576           Unknown          Unknown       0     473.60  1
## 577           Unknown          Unknown       0     480.00  1
## 578           Unknown          Unknown       0     520.90  1
## 579           Unknown          Unknown       0     535.00  1
## 580           Unknown          Unknown       0     550.00  1
## 581           Unknown          Unknown       0     554.77  1
## 582           Unknown          Unknown       0     561.53  1
## 583           Unknown          Unknown       0     590.00  1
## 584           Unknown          Unknown       0     595.00  1
## 585           Unknown          Unknown       0     599.00  1
## 586           Unknown          Unknown       0     639.99  1
## 587           Unknown          Unknown       0     640.00  1
## 588           Unknown          Unknown       0     679.99  1
## 589            iPad 1           iPad 1       0       9.95  1
## 590            iPad 1           iPad 1       0      19.95  1
## 591            iPad 1           iPad 1       0      29.95  1
## 592            iPad 1           iPad 1       0      33.00  1
## 593            iPad 1           iPad 1       0      35.00  1
## 594            iPad 1           iPad 1       0      39.99  1
## 595            iPad 1           iPad 1       0      42.00  1
## 596            iPad 1           iPad 1       0      48.00  1
## 597            iPad 1           iPad 1       0      48.99  1
## 598            iPad 1           iPad 1       0      49.49  1
## 599            iPad 1           iPad 1       0      52.99  1
## 600            iPad 1           iPad 1       0      54.99  1
## 601            iPad 1           iPad 1       0      55.66  1
## 602            iPad 1           iPad 1       0      56.00  1
## 603            iPad 1           iPad 1       0      59.00  1
## 604            iPad 1           iPad 1       0      59.99  1
## 605            iPad 1           iPad 1       0      64.99  1
## 606            iPad 1           iPad 1       0      72.00  1
## 607            iPad 1           iPad 1       0      74.00  1
## 608            iPad 1           iPad 1       0      74.50  1
## 609            iPad 1           iPad 1       0      74.99  1
## 610            iPad 1           iPad 1       0      78.00  1
## 611            iPad 1           iPad 1       0      79.94  1
## 612            iPad 1           iPad 1       0      82.95  1
## 613            iPad 1           iPad 1       0      82.98  1
## 614            iPad 1           iPad 1       0      85.95  1
## 615            iPad 1           iPad 1       0      89.50  1
## 616            iPad 1           iPad 1       0      91.00  1
## 617            iPad 1           iPad 1       0      92.00  1
## 618            iPad 1           iPad 1       0      93.00  1
## 619            iPad 1           iPad 1       0      94.99  1
## 620            iPad 1           iPad 1       0      96.00  1
## 621            iPad 1           iPad 1       0      98.00  1
## 622            iPad 1           iPad 1       0      99.94  1
## 623            iPad 1           iPad 1       0     102.00  1
## 624            iPad 1           iPad 1       0     104.70  1
## 625            iPad 1           iPad 1       0     109.00  1
## 626            iPad 1           iPad 1       0     109.98  1
## 627            iPad 1           iPad 1       0     112.99  1
## 628            iPad 1           iPad 1       0     114.94  1
## 629            iPad 1           iPad 1       0     119.00  1
## 630            iPad 1           iPad 1       0     120.00  1
## 631            iPad 1           iPad 1       0     120.02  1
## 632            iPad 1           iPad 1       0     124.99  1
## 633            iPad 1           iPad 1       0     129.95  1
## 634            iPad 1           iPad 1       0     130.00  1
## 635            iPad 1           iPad 1       0     145.00  1
## 636            iPad 1           iPad 1       0     149.00  1
## 637            iPad 1           iPad 1       0     149.95  1
## 638            iPad 1           iPad 1       0     149.98  1
## 639            iPad 1           iPad 1       0     149.99  1
## 640            iPad 1           iPad 1       0     155.00  1
## 641            iPad 1           iPad 1       0     159.95  1
## 642            iPad 1           iPad 1       0     169.95  1
## 643            iPad 1           iPad 1       0     170.00  1
## 644            iPad 1           iPad 1       0     174.99  1
## 645            iPad 1           iPad 1       0     190.45  1
## 646            iPad 1           iPad 1       0     198.00  1
## 647            iPad 1           iPad 1       0     199.99  1
## 648            iPad 1           iPad 1       0     200.00  1
## 649            iPad 1           iPad 1       0     209.90  1
## 650            iPad 1           iPad 1       0     220.00  1
## 651            iPad 1           iPad 1       0     225.00  1
## 652            iPad 1           iPad 1       0     227.00  1
## 653            iPad 1           iPad 1       0     229.00  1
## 654            iPad 1           iPad 1       0     229.97  1
## 655            iPad 1           iPad 1       0     229.99  1
## 656            iPad 1           iPad 1       0     235.00  1
## 657            iPad 1           iPad 1       0     245.00  1
## 658            iPad 1           iPad 1       0     269.99  1
## 659            iPad 1           iPad 1       0     275.00  1
## 660            iPad 1           iPad 1       0     289.95  1
## 661            iPad 1           iPad 1       0     499.00  1
## 662            iPad 2           iPad 2       0       5.00  1
## 663            iPad 2           iPad 2       0      20.00  1
## 664            iPad 2           iPad 2       0      25.00  1
## 665            iPad 2           iPad 2       0      29.95  1
## 666            iPad 2           iPad 2       0      29.99  1
## 667            iPad 2           iPad 2       0      39.99  1
## 668            iPad 2           iPad 2       0      45.00  1
## 669            iPad 2           iPad 2       0      49.00  1
## 670            iPad 2           iPad 2       0      60.00  1
## 671            iPad 2           iPad 2       0      66.99  1
## 672            iPad 2           iPad 2       0      69.50  1
## 673            iPad 2           iPad 2       0      69.95  1
## 674            iPad 2           iPad 2       0      71.99  1
## 675            iPad 2           iPad 2       0      72.00  1
## 676            iPad 2           iPad 2       0      74.00  1
## 677            iPad 2           iPad 2       0      79.00  1
## 678            iPad 2           iPad 2       0      79.97  1
## 679            iPad 2           iPad 2       0      89.95  1
## 680            iPad 2           iPad 2       0      92.00  1
## 681            iPad 2           iPad 2       0      92.49  1
## 682            iPad 2           iPad 2       0      96.00  1
## 683            iPad 2           iPad 2       0      97.50  1
## 684            iPad 2           iPad 2       0     104.00  1
## 685            iPad 2           iPad 2       0     106.95  1
## 686            iPad 2           iPad 2       0     109.99  1
## 687            iPad 2           iPad 2       0     110.00  1
## 688            iPad 2           iPad 2       0     111.00  1
## 689            iPad 2           iPad 2       0     111.50  1
## 690            iPad 2           iPad 2       0     112.00  1
## 691            iPad 2           iPad 2       0     115.00  1
## 692            iPad 2           iPad 2       0     119.95  1
## 693            iPad 2           iPad 2       0     121.00  1
## 694            iPad 2           iPad 2       0     124.00  1
## 695            iPad 2           iPad 2       0     127.99  1
## 696            iPad 2           iPad 2       0     134.34  1
## 697            iPad 2           iPad 2       0     134.95  1
## 698            iPad 2           iPad 2       0     139.50  1
## 699            iPad 2           iPad 2       0     139.98  1
## 700            iPad 2           iPad 2       0     141.09  1
## 701            iPad 2           iPad 2       0     142.25  1
## 702            iPad 2           iPad 2       0     142.49  1
## 703            iPad 2           iPad 2       0     145.49  1
## 704            iPad 2           iPad 2       0     146.99  1
## 705            iPad 2           iPad 2       0     147.59  1
## 706            iPad 2           iPad 2       0     147.72  1
## 707            iPad 2           iPad 2       0     152.00  1
## 708            iPad 2           iPad 2       0     153.95  1
## 709            iPad 2           iPad 2       0     153.99  1
## 710            iPad 2           iPad 2       0     157.00  1
## 711            iPad 2           iPad 2       0     158.99  1
## 712            iPad 2           iPad 2       0     159.93  1
## 713            iPad 2           iPad 2       0     159.94  1
## 714            iPad 2           iPad 2       0     159.95  1
## 715            iPad 2           iPad 2       0     164.00  1
## 716            iPad 2           iPad 2       0     169.98  1
## 717            iPad 2           iPad 2       0     171.00  1
## 718            iPad 2           iPad 2       0     173.00  1
## 719            iPad 2           iPad 2       0     182.00  1
## 720            iPad 2           iPad 2       0     184.99  1
## 721            iPad 2           iPad 2       0     189.00  1
## 722            iPad 2           iPad 2       0     189.85  1
## 723            iPad 2           iPad 2       0     189.95  1
## 724            iPad 2           iPad 2       0     190.00  1
## 725            iPad 2           iPad 2       0     190.45  1
## 726            iPad 2           iPad 2       0     193.00  1
## 727            iPad 2           iPad 2       0     194.00  1
## 728            iPad 2           iPad 2       0     194.85  1
## 729            iPad 2           iPad 2       0     194.95  1
## 730            iPad 2           iPad 2       0     195.00  1
## 731            iPad 2           iPad 2       0     198.98  1
## 732            iPad 2           iPad 2       0     199.00  1
## 733            iPad 2           iPad 2       0     204.95  1
## 734            iPad 2           iPad 2       0     209.00  1
## 735            iPad 2           iPad 2       0     210.00  1
## 736            iPad 2           iPad 2       0     211.95  1
## 737            iPad 2           iPad 2       0     212.99  1
## 738            iPad 2           iPad 2       0     215.00  1
## 739            iPad 2           iPad 2       0     215.99  1
## 740            iPad 2           iPad 2       0     219.85  1
## 741            iPad 2           iPad 2       0     225.00  1
## 742            iPad 2           iPad 2       0     227.95  1
## 743            iPad 2           iPad 2       0     228.59  1
## 744            iPad 2           iPad 2       0     229.99  1
## 745            iPad 2           iPad 2       0     234.99  1
## 746            iPad 2           iPad 2       0     235.00  1
## 747            iPad 2           iPad 2       0     239.00  1
## 748            iPad 2           iPad 2       0     239.99  1
## 749            iPad 2           iPad 2       0     249.95  1
## 750            iPad 2           iPad 2       0     255.00  1
## 751            iPad 2           iPad 2       0     269.94  1
## 752            iPad 2           iPad 2       0     279.00  1
## 753            iPad 2           iPad 2       0     279.99  1
## 754            iPad 2           iPad 2       0     280.00  1
## 755            iPad 2           iPad 2       0     288.00  1
## 756            iPad 2           iPad 2       0     289.99  1
## 757            iPad 2           iPad 2       0     294.99  1
## 758            iPad 2           iPad 2       0     298.97  1
## 759            iPad 2           iPad 2       0     310.00  1
## 760            iPad 2           iPad 2       0     315.00  1
## 761            iPad 2           iPad 2       0     330.00  1
## 762            iPad 2           iPad 2       0     340.00  1
## 763            iPad 2           iPad 2       0     349.99  1
## 764            iPad 2           iPad 2       0     393.00  1
## 765            iPad 2           iPad 2       0     395.00  1
## 766            iPad 2           iPad 2       0     396.00  1
## 767            iPad 2           iPad 2       0     406.00  1
## 768            iPad 2           iPad 2       0     417.00  1
## 769            iPad 2           iPad 2       0     425.00  1
## 770            iPad 2           iPad 2       0     525.00  1
## 771            iPad 2           iPad 2       0     700.00  1
## 772            iPad 3           iPad 3       0       0.50  1
## 773            iPad 3           iPad 3       0       5.00  1
## 774            iPad 3           iPad 3       0       7.99  1
## 775            iPad 3           iPad 3       0      45.00  1
## 776            iPad 3           iPad 3       0      50.00  1
## 777            iPad 3           iPad 3       0      69.69  1
## 778            iPad 3           iPad 3       0      71.00  1
## 779            iPad 3           iPad 3       0      75.00  1
## 780            iPad 3           iPad 3       0      80.00  1
## 781            iPad 3           iPad 3       0      85.00  1
## 782            iPad 3           iPad 3       0      95.00  1
## 783            iPad 3           iPad 3       0     105.00  1
## 784            iPad 3           iPad 3       0     115.00  1
## 785            iPad 3           iPad 3       0     120.00  1
## 786            iPad 3           iPad 3       0     129.00  1
## 787            iPad 3           iPad 3       0     134.61  1
## 788            iPad 3           iPad 3       0     159.00  1
## 789            iPad 3           iPad 3       0     159.99  1
## 790            iPad 3           iPad 3       0     165.00  1
## 791            iPad 3           iPad 3       0     179.00  1
## 792            iPad 3           iPad 3       0     179.95  1
## 793            iPad 3           iPad 3       0     184.50  1
## 794            iPad 3           iPad 3       0     184.95  1
## 795            iPad 3           iPad 3       0     188.99  1
## 796            iPad 3           iPad 3       0     189.99  1
## 797            iPad 3           iPad 3       0     190.00  1
## 798            iPad 3           iPad 3       0     196.00  1
## 799            iPad 3           iPad 3       0     199.69  1
## 800            iPad 3           iPad 3       0     200.29  1
## 801            iPad 3           iPad 3       0     204.00  1
## 802            iPad 3           iPad 3       0     210.99  1
## 803            iPad 3           iPad 3       0     214.99  1
## 804            iPad 3           iPad 3       0     219.95  1
## 805            iPad 3           iPad 3       0     228.88  1
## 806            iPad 3           iPad 3       0     229.00  1
## 807            iPad 3           iPad 3       0     229.98  1
## 808            iPad 3           iPad 3       0     234.00  1
## 809            iPad 3           iPad 3       0     235.00  1
## 810            iPad 3           iPad 3       0     235.99  1
## 811            iPad 3           iPad 3       0     246.00  1
## 812            iPad 3           iPad 3       0     248.00  1
## 813            iPad 3           iPad 3       0     249.00  1
## 814            iPad 3           iPad 3       0     249.97  1
## 815            iPad 3           iPad 3       0     252.99  1
## 816            iPad 3           iPad 3       0     259.00  1
## 817            iPad 3           iPad 3       0     269.95  1
## 818            iPad 3           iPad 3       0     289.00  1
## 819            iPad 3           iPad 3       0     289.98  1
## 820            iPad 3           iPad 3       0     290.00  1
## 821            iPad 3           iPad 3       0     295.00  1
## 822            iPad 3           iPad 3       0     298.00  1
## 823            iPad 3           iPad 3       0     299.99  1
## 824            iPad 3           iPad 3       0     319.95  1
## 825            iPad 3           iPad 3       0     339.00  1
## 826            iPad 3           iPad 3       0     350.00  1
## 827            iPad 3           iPad 3       0     380.00  1
## 828            iPad 3           iPad 3       0     395.00  1
## 829            iPad 3           iPad 3       0     463.26  1
## 830            iPad 3           iPad 3       0     494.50  1
## 831            iPad 3           iPad 3       0     600.00  1
## 832            iPad 3           iPad 3       0     649.99  1
## 833            iPad 3           iPad 3       0     699.95  1
## 834            iPad 3           iPad 3       1       9.99  1
## 835            iPad 4           iPad 4       0       1.00  1
## 836            iPad 4           iPad 4       0       7.99  1
## 837            iPad 4           iPad 4       0       8.00  1
## 838            iPad 4           iPad 4       0      10.00  1
## 839            iPad 4           iPad 4       0      20.00  1
## 840            iPad 4           iPad 4       0      35.00  1
## 841            iPad 4           iPad 4       0      38.99  1
## 842            iPad 4           iPad 4       0      39.00  1
## 843            iPad 4           iPad 4       0      65.00  1
## 844            iPad 4           iPad 4       0      79.99  1
## 845            iPad 4           iPad 4       0      99.75  1
## 846            iPad 4           iPad 4       0      99.95  1
## 847            iPad 4           iPad 4       0     115.00  1
## 848            iPad 4           iPad 4       0     119.88  1
## 849            iPad 4           iPad 4       0     119.99  1
## 850            iPad 4           iPad 4       0     139.99  1
## 851            iPad 4           iPad 4       0     144.50  1
## 852            iPad 4           iPad 4       0     149.98  1
## 853            iPad 4           iPad 4       0     155.99  1
## 854            iPad 4           iPad 4       0     160.00  1
## 855            iPad 4           iPad 4       0     174.95  1
## 856            iPad 4           iPad 4       0     185.00  1
## 857            iPad 4           iPad 4       0     189.00  1
## 858            iPad 4           iPad 4       0     215.00  1
## 859            iPad 4           iPad 4       0     218.00  1
## 860            iPad 4           iPad 4       0     219.99  1
## 861            iPad 4           iPad 4       0     220.00  1
## 862            iPad 4           iPad 4       0     224.98  1
## 863            iPad 4           iPad 4       0     224.99  1
## 864            iPad 4           iPad 4       0     229.00  1
## 865            iPad 4           iPad 4       0     237.99  1
## 866            iPad 4           iPad 4       0     238.00  1
## 867            iPad 4           iPad 4       0     239.00  1
## 868            iPad 4           iPad 4       0     239.95  1
## 869            iPad 4           iPad 4       0     244.95  1
## 870            iPad 4           iPad 4       0     244.96  1
## 871            iPad 4           iPad 4       0     245.19  1
## 872            iPad 4           iPad 4       0     249.00  1
## 873            iPad 4           iPad 4       0     249.59  1
## 874            iPad 4           iPad 4       0     249.95  1
## 875            iPad 4           iPad 4       0     254.99  1
## 876            iPad 4           iPad 4       0     259.00  1
## 877            iPad 4           iPad 4       0     260.00  1
## 878            iPad 4           iPad 4       0     261.99  1
## 879            iPad 4           iPad 4       0     263.99  1
## 880            iPad 4           iPad 4       0     264.95  1
## 881            iPad 4           iPad 4       0     264.99  1
## 882            iPad 4           iPad 4       0     270.00  1
## 883            iPad 4           iPad 4       0     276.99  1
## 884            iPad 4           iPad 4       0     279.50  1
## 885            iPad 4           iPad 4       0     280.99  1
## 886            iPad 4           iPad 4       0     284.00  1
## 887            iPad 4           iPad 4       0     289.99  1
## 888            iPad 4           iPad 4       0     291.99  1
## 889            iPad 4           iPad 4       0     299.95  1
## 890            iPad 4           iPad 4       0     303.99  1
## 891            iPad 4           iPad 4       0     304.89  1
## 892            iPad 4           iPad 4       0     319.99  1
## 893            iPad 4           iPad 4       0     324.90  1
## 894            iPad 4           iPad 4       0     329.00  1
## 895            iPad 4           iPad 4       0     339.00  1
## 896            iPad 4           iPad 4       0     340.00  1
## 897            iPad 4           iPad 4       0     345.00  1
## 898            iPad 4           iPad 4       0     349.99  1
## 899            iPad 4           iPad 4       0     399.99  1
## 900            iPad 4           iPad 4       0     410.00  1
## 901            iPad 4           iPad 4       0     419.99  1
## 902            iPad 4           iPad 4       0     425.00  1
## 903            iPad 4           iPad 4       0     445.00  1
## 904            iPad 4           iPad 4       0     479.99  1
## 905            iPad 4           iPad 4       0     520.00  1
## 906            iPad 4           iPad 4       0     540.00  1
## 907            iPad 4           iPad 4       0     544.49  1
## 908            iPad 4           iPad 4       0     559.99  1
## 909            iPad 4           iPad 4       0     573.74  1
## 910            iPad 4           iPad 4       0     649.99  1
## 911            iPad 4           iPad 4       0     650.00  1
## 912            iPad 4           iPad 4       0     695.00  1
## 913            iPad 4           iPad 4       1     279.99  1
## 914            iPad 5           iPad 5       0     300.00  1
## 915          iPad Air          Unknown       1       0.99  1
## 916          iPad Air          Unknown       1     318.00  1
## 917          iPad Air          Unknown       1     550.00  1
## 918          iPad Air         iPad Air       0      20.00  1
## 919          iPad Air         iPad Air       0      24.99  1
## 920          iPad Air         iPad Air       0      25.00  1
## 921          iPad Air         iPad Air       0      49.00  1
## 922          iPad Air         iPad Air       0      50.00  1
## 923          iPad Air         iPad Air       0      80.00  1
## 924          iPad Air         iPad Air       0      99.00  1
## 925          iPad Air         iPad Air       0     144.95  1
## 926          iPad Air         iPad Air       0     149.00  1
## 927          iPad Air         iPad Air       0     149.99  1
## 928          iPad Air         iPad Air       0     150.00  1
## 929          iPad Air         iPad Air       0     160.00  1
## 930          iPad Air         iPad Air       0     179.99  1
## 931          iPad Air         iPad Air       0     184.99  1
## 932          iPad Air         iPad Air       0     185.00  1
## 933          iPad Air         iPad Air       0     187.00  1
## 934          iPad Air         iPad Air       0     189.99  1
## 935          iPad Air         iPad Air       0     199.00  1
## 936          iPad Air         iPad Air       0     225.00  1
## 937          iPad Air         iPad Air       0     240.00  1
## 938          iPad Air         iPad Air       0     242.00  1
## 939          iPad Air         iPad Air       0     249.00  1
## 940          iPad Air         iPad Air       0     249.99  1
## 941          iPad Air         iPad Air       0     255.00  1
## 942          iPad Air         iPad Air       0     256.24  1
## 943          iPad Air         iPad Air       0     257.83  1
## 944          iPad Air         iPad Air       0     259.99  1
## 945          iPad Air         iPad Air       0     266.05  1
## 946          iPad Air         iPad Air       0     269.85  1
## 947          iPad Air         iPad Air       0     270.99  1
## 948          iPad Air         iPad Air       0     274.00  1
## 949          iPad Air         iPad Air       0     274.99  1
## 950          iPad Air         iPad Air       0     275.00  1
## 951          iPad Air         iPad Air       0     279.00  1
## 952          iPad Air         iPad Air       0     288.00  1
## 953          iPad Air         iPad Air       0     289.79  1
## 954          iPad Air         iPad Air       0     292.50  1
## 955          iPad Air         iPad Air       0     294.99  1
## 956          iPad Air         iPad Air       0     299.98  1
## 957          iPad Air         iPad Air       0     310.00  1
## 958          iPad Air         iPad Air       0     319.85  1
## 959          iPad Air         iPad Air       0     322.99  1
## 960          iPad Air         iPad Air       0     334.99  1
## 961          iPad Air         iPad Air       0     339.99  1
## 962          iPad Air         iPad Air       0     344.95  1
## 963          iPad Air         iPad Air       0     346.00  1
## 964          iPad Air         iPad Air       0     347.24  1
## 965          iPad Air         iPad Air       0     349.95  1
## 966          iPad Air         iPad Air       0     358.24  1
## 967          iPad Air         iPad Air       0     359.99  1
## 968          iPad Air         iPad Air       0     360.00  1
## 969          iPad Air         iPad Air       0     360.24  1
## 970          iPad Air         iPad Air       0     370.00  1
## 971          iPad Air         iPad Air       0     374.95  1
## 972          iPad Air         iPad Air       0     374.99  1
## 973          iPad Air         iPad Air       0     375.99  1
## 974          iPad Air         iPad Air       0     380.00  1
## 975          iPad Air         iPad Air       0     384.99  1
## 976          iPad Air         iPad Air       0     388.99  1
## 977          iPad Air         iPad Air       0     389.00  1
## 978          iPad Air         iPad Air       0     399.95  1
## 979          iPad Air         iPad Air       0     404.99  1
## 980          iPad Air         iPad Air       0     408.00  1
## 981          iPad Air         iPad Air       0     420.00  1
## 982          iPad Air         iPad Air       0     424.95  1
## 983          iPad Air         iPad Air       0     429.99  1
## 984          iPad Air         iPad Air       0     430.00  1
## 985          iPad Air         iPad Air       0     438.00  1
## 986          iPad Air         iPad Air       0     439.00  1
## 987          iPad Air         iPad Air       0     439.99  1
## 988          iPad Air         iPad Air       0     443.09  1
## 989          iPad Air         iPad Air       0     455.00  1
## 990          iPad Air         iPad Air       0     462.89  1
## 991          iPad Air         iPad Air       0     469.99  1
## 992          iPad Air         iPad Air       0     495.49  1
## 993          iPad Air         iPad Air       0     509.99  1
## 994          iPad Air         iPad Air       0     517.89  1
## 995          iPad Air         iPad Air       0     539.95  1
## 996          iPad Air         iPad Air       0     549.99  1
## 997          iPad Air         iPad Air       0     550.00  1
## 998          iPad Air         iPad Air       0     558.17  1
## 999          iPad Air         iPad Air       0     565.95  1
## 1000         iPad Air         iPad Air       0     589.99  1
## 1001         iPad Air         iPad Air       0     599.99  1
## 1002         iPad Air         iPad Air       0     650.00  1
## 1003         iPad Air         iPad Air       0     670.00  1
## 1004         iPad Air         iPad Air       0     699.00  1
## 1005         iPad Air         iPad Air       0     795.99  1
## 1006         iPad Air         iPad Air       0     820.00  1
## 1007         iPad Air         iPad Air       1     149.99  1
## 1008         iPad Air         iPad Air       1     199.00  1
## 1009         iPad Air         iPad Air       1     199.99  1
## 1010         iPad Air         iPad Air       1     229.00  1
## 1011         iPad Air         iPad Air       1     279.00  1
## 1012         iPad Air         iPad Air       1     290.00  1
## 1013         iPad Air         iPad Air       1     349.00  1
## 1014         iPad Air         iPad Air       1     449.99  1
## 1015       iPad Air 2       iPad Air 2       0       0.01  1
## 1016       iPad Air 2       iPad Air 2       0       1.99  1
## 1017       iPad Air 2       iPad Air 2       0       9.00  1
## 1018       iPad Air 2       iPad Air 2       0      60.00  1
## 1019       iPad Air 2       iPad Air 2       0      99.95  1
## 1020       iPad Air 2       iPad Air 2       0     100.00  1
## 1021       iPad Air 2       iPad Air 2       0     139.00  1
## 1022       iPad Air 2       iPad Air 2       0     229.98  1
## 1023       iPad Air 2       iPad Air 2       0     295.00  1
## 1024       iPad Air 2       iPad Air 2       0     299.00  1
## 1025       iPad Air 2       iPad Air 2       0     299.99  1
## 1026       iPad Air 2       iPad Air 2       0     305.00  1
## 1027       iPad Air 2       iPad Air 2       0     310.00  1
## 1028       iPad Air 2       iPad Air 2       0     319.99  1
## 1029       iPad Air 2       iPad Air 2       0     320.00  1
## 1030       iPad Air 2       iPad Air 2       0     324.99  1
## 1031       iPad Air 2       iPad Air 2       0     339.00  1
## 1032       iPad Air 2       iPad Air 2       0     374.95  1
## 1033       iPad Air 2       iPad Air 2       0     375.00  1
## 1034       iPad Air 2       iPad Air 2       0     380.00  1
## 1035       iPad Air 2       iPad Air 2       0     389.99  1
## 1036       iPad Air 2       iPad Air 2       0     394.99  1
## 1037       iPad Air 2       iPad Air 2       0     395.00  1
## 1038       iPad Air 2       iPad Air 2       0     399.94  1
## 1039       iPad Air 2       iPad Air 2       0     399.95  1
## 1040       iPad Air 2       iPad Air 2       0     410.00  1
## 1041       iPad Air 2       iPad Air 2       0     424.55  1
## 1042       iPad Air 2       iPad Air 2       0     424.65  1
## 1043       iPad Air 2       iPad Air 2       0     424.99  1
## 1044       iPad Air 2       iPad Air 2       0     429.00  1
## 1045       iPad Air 2       iPad Air 2       0     429.95  1
## 1046       iPad Air 2       iPad Air 2       0     429.99  1
## 1047       iPad Air 2       iPad Air 2       0     430.00  1
## 1048       iPad Air 2       iPad Air 2       0     438.99  1
## 1049       iPad Air 2       iPad Air 2       0     439.98  1
## 1050       iPad Air 2       iPad Air 2       0     440.00  1
## 1051       iPad Air 2       iPad Air 2       0     444.99  1
## 1052       iPad Air 2       iPad Air 2       0     445.00  1
## 1053       iPad Air 2       iPad Air 2       0     454.00  1
## 1054       iPad Air 2       iPad Air 2       0     454.68  1
## 1055       iPad Air 2       iPad Air 2       0     459.00  1
## 1056       iPad Air 2       iPad Air 2       0     459.95  1
## 1057       iPad Air 2       iPad Air 2       0     459.99  1
## 1058       iPad Air 2       iPad Air 2       0     469.99  1
## 1059       iPad Air 2       iPad Air 2       0     485.00  1
## 1060       iPad Air 2       iPad Air 2       0     489.99  1
## 1061       iPad Air 2       iPad Air 2       0     490.00  1
## 1062       iPad Air 2       iPad Air 2       0     490.95  1
## 1063       iPad Air 2       iPad Air 2       0     495.99  1
## 1064       iPad Air 2       iPad Air 2       0     499.95  1
## 1065       iPad Air 2       iPad Air 2       0     509.00  1
## 1066       iPad Air 2       iPad Air 2       0     510.00  1
## 1067       iPad Air 2       iPad Air 2       0     514.95  1
## 1068       iPad Air 2       iPad Air 2       0     515.00  1
## 1069       iPad Air 2       iPad Air 2       0     520.00  1
## 1070       iPad Air 2       iPad Air 2       0     528.00  1
## 1071       iPad Air 2       iPad Air 2       0     529.00  1
## 1072       iPad Air 2       iPad Air 2       0     529.95  1
## 1073       iPad Air 2       iPad Air 2       0     529.99  1
## 1074       iPad Air 2       iPad Air 2       0     549.90  1
## 1075       iPad Air 2       iPad Air 2       0     549.95  1
## 1076       iPad Air 2       iPad Air 2       0     559.00  1
## 1077       iPad Air 2       iPad Air 2       0     579.99  1
## 1078       iPad Air 2       iPad Air 2       0     585.99  1
## 1079       iPad Air 2       iPad Air 2       0     589.00  1
## 1080       iPad Air 2       iPad Air 2       0     590.00  1
## 1081       iPad Air 2       iPad Air 2       0     595.00  1
## 1082       iPad Air 2       iPad Air 2       0     598.98  1
## 1083       iPad Air 2       iPad Air 2       0     600.00  1
## 1084       iPad Air 2       iPad Air 2       0     614.99  1
## 1085       iPad Air 2       iPad Air 2       0     615.99  1
## 1086       iPad Air 2       iPad Air 2       0     619.00  1
## 1087       iPad Air 2       iPad Air 2       0     624.99  1
## 1088       iPad Air 2       iPad Air 2       0     625.00  1
## 1089       iPad Air 2       iPad Air 2       0     629.00  1
## 1090       iPad Air 2       iPad Air 2       0     630.00  1
## 1091       iPad Air 2       iPad Air 2       0     634.99  1
## 1092       iPad Air 2       iPad Air 2       0     645.00  1
## 1093       iPad Air 2       iPad Air 2       0     645.99  1
## 1094       iPad Air 2       iPad Air 2       0     649.95  1
## 1095       iPad Air 2       iPad Air 2       0     649.99  1
## 1096       iPad Air 2       iPad Air 2       0     659.49  1
## 1097       iPad Air 2       iPad Air 2       0     660.00  1
## 1098       iPad Air 2       iPad Air 2       0     675.00  1
## 1099       iPad Air 2       iPad Air 2       0     679.95  1
## 1100       iPad Air 2       iPad Air 2       0     679.99  1
## 1101       iPad Air 2       iPad Air 2       0     680.00  1
## 1102       iPad Air 2       iPad Air 2       0     710.00  1
## 1103       iPad Air 2       iPad Air 2       0     730.00  1
## 1104       iPad Air 2       iPad Air 2       0     740.00  1
## 1105       iPad Air 2       iPad Air 2       0     749.99  1
## 1106       iPad Air 2       iPad Air 2       0     785.00  1
## 1107       iPad Air 2       iPad Air 2       0     789.00  1
## 1108       iPad Air 2       iPad Air 2       0     789.99  1
## 1109       iPad Air 2       iPad Air 2       0     795.00  1
## 1110       iPad Air 2       iPad Air 2       0     798.00  1
## 1111       iPad Air 2       iPad Air 2       0     799.00  1
## 1112       iPad Air 2       iPad Air 2       0     800.00  1
## 1113       iPad Air 2       iPad Air 2       0     829.99  1
## 1114       iPad Air 2       iPad Air 2       0     879.99  1
## 1115       iPad Air 2       iPad Air 2       0     899.99  1
## 1116       iPad Air 2       iPad Air 2       0     900.00  1
## 1117       iPad Air 2       iPad Air 2       0     939.00  1
## 1118       iPad Air 2       iPad Air 2       1      10.00  1
## 1119       iPad Air 2       iPad Air 2       1      59.00  1
## 1120       iPad Air 2       iPad Air 2       1     619.99  1
## 1121       iPad Air 2       iPad Air 2       1     800.00  1
## 1122       iPad Air 2       iPad Air 2       2     499.00  1
## 1123        iPad mini          Unknown       0     190.00  1
## 1124        iPad mini          Unknown       0     409.99  1
## 1125        iPad mini          Unknown       0     999.99  1
## 1126        iPad mini        iPad mini       0       0.98  1
## 1127        iPad mini        iPad mini       0      10.99  1
## 1128        iPad mini        iPad mini       0      19.50  1
## 1129        iPad mini        iPad mini       0      19.99  1
## 1130        iPad mini        iPad mini       0      29.99  1
## 1131        iPad mini        iPad mini       0      40.00  1
## 1132        iPad mini        iPad mini       0      42.00  1
## 1133        iPad mini        iPad mini       0      49.95  1
## 1134        iPad mini        iPad mini       0      49.99  1
## 1135        iPad mini        iPad mini       0      59.99  1
## 1136        iPad mini        iPad mini       0      62.00  1
## 1137        iPad mini        iPad mini       0      74.95  1
## 1138        iPad mini        iPad mini       0      74.99  1
## 1139        iPad mini        iPad mini       0      79.00  1
## 1140        iPad mini        iPad mini       0      79.99  1
## 1141        iPad mini        iPad mini       0      84.99  1
## 1142        iPad mini        iPad mini       0      89.00  1
## 1143        iPad mini        iPad mini       0     109.00  1
## 1144        iPad mini        iPad mini       0     109.99  1
## 1145        iPad mini        iPad mini       0     110.00  1
## 1146        iPad mini        iPad mini       0     112.00  1
## 1147        iPad mini        iPad mini       0     113.00  1
## 1148        iPad mini        iPad mini       0     118.00  1
## 1149        iPad mini        iPad mini       0     119.98  1
## 1150        iPad mini        iPad mini       0     129.00  1
## 1151        iPad mini        iPad mini       0     129.95  1
## 1152        iPad mini        iPad mini       0     129.99  1
## 1153        iPad mini        iPad mini       0     135.00  1
## 1154        iPad mini        iPad mini       0     139.00  1
## 1155        iPad mini        iPad mini       0     140.00  1
## 1156        iPad mini        iPad mini       0     144.99  1
## 1157        iPad mini        iPad mini       0     145.00  1
## 1158        iPad mini        iPad mini       0     149.59  1
## 1159        iPad mini        iPad mini       0     149.95  1
## 1160        iPad mini        iPad mini       0     149.99  1
## 1161        iPad mini        iPad mini       0     159.95  1
## 1162        iPad mini        iPad mini       0     160.57  1
## 1163        iPad mini        iPad mini       0     168.00  1
## 1164        iPad mini        iPad mini       0     169.99  1
## 1165        iPad mini        iPad mini       0     170.00  1
## 1166        iPad mini        iPad mini       0     171.95  1
## 1167        iPad mini        iPad mini       0     176.27  1
## 1168        iPad mini        iPad mini       0     178.99  1
## 1169        iPad mini        iPad mini       0     179.96  1
## 1170        iPad mini        iPad mini       0     180.00  1
## 1171        iPad mini        iPad mini       0     181.00  1
## 1172        iPad mini        iPad mini       0     184.99  1
## 1173        iPad mini        iPad mini       0     185.00  1
## 1174        iPad mini        iPad mini       0     185.49  1
## 1175        iPad mini        iPad mini       0     187.89  1
## 1176        iPad mini        iPad mini       0     188.88  1
## 1177        iPad mini        iPad mini       0     190.00  1
## 1178        iPad mini        iPad mini       0     194.29  1
## 1179        iPad mini        iPad mini       0     195.00  1
## 1180        iPad mini        iPad mini       0     198.00  1
## 1181        iPad mini        iPad mini       0     199.97  1
## 1182        iPad mini        iPad mini       0     205.00  1
## 1183        iPad mini        iPad mini       0     208.00  1
## 1184        iPad mini        iPad mini       0     208.99  1
## 1185        iPad mini        iPad mini       0     209.00  1
## 1186        iPad mini        iPad mini       0     209.85  1
## 1187        iPad mini        iPad mini       0     209.99  1
## 1188        iPad mini        iPad mini       0     211.50  1
## 1189        iPad mini        iPad mini       0     212.99  1
## 1190        iPad mini        iPad mini       0     214.98  1
## 1191        iPad mini        iPad mini       0     215.99  1
## 1192        iPad mini        iPad mini       0     219.00  1
## 1193        iPad mini        iPad mini       0     220.00  1
## 1194        iPad mini        iPad mini       0     227.88  1
## 1195        iPad mini        iPad mini       0     235.00  1
## 1196        iPad mini        iPad mini       0     239.00  1
## 1197        iPad mini        iPad mini       0     240.00  1
## 1198        iPad mini        iPad mini       0     241.88  1
## 1199        iPad mini        iPad mini       0     244.97  1
## 1200        iPad mini        iPad mini       0     249.95  1
## 1201        iPad mini        iPad mini       0     252.88  1
## 1202        iPad mini        iPad mini       0     255.00  1
## 1203        iPad mini        iPad mini       0     258.88  1
## 1204        iPad mini        iPad mini       0     259.00  1
## 1205        iPad mini        iPad mini       0     260.00  1
## 1206        iPad mini        iPad mini       0     265.00  1
## 1207        iPad mini        iPad mini       0     265.99  1
## 1208        iPad mini        iPad mini       0     271.00  1
## 1209        iPad mini        iPad mini       0     279.00  1
## 1210        iPad mini        iPad mini       0     279.50  1
## 1211        iPad mini        iPad mini       0     279.99  1
## 1212        iPad mini        iPad mini       0     289.00  1
## 1213        iPad mini        iPad mini       0     289.99  1
## 1214        iPad mini        iPad mini       0     295.00  1
## 1215        iPad mini        iPad mini       0     298.00  1
## 1216        iPad mini        iPad mini       0     299.95  1
## 1217        iPad mini        iPad mini       0     310.00  1
## 1218        iPad mini        iPad mini       0     315.00  1
## 1219        iPad mini        iPad mini       0     320.00  1
## 1220        iPad mini        iPad mini       0     334.95  1
## 1221        iPad mini        iPad mini       0     339.99  1
## 1222        iPad mini        iPad mini       0     348.60  1
## 1223        iPad mini        iPad mini       0     349.99  1
## 1224        iPad mini        iPad mini       0     351.00  1
## 1225        iPad mini        iPad mini       0     358.87  1
## 1226        iPad mini        iPad mini       0     370.00  1
## 1227        iPad mini        iPad mini       0     375.00  1
## 1228        iPad mini        iPad mini       0     379.99  1
## 1229        iPad mini        iPad mini       0     385.00  1
## 1230        iPad mini        iPad mini       0     387.45  1
## 1231        iPad mini        iPad mini       0     388.30  1
## 1232        iPad mini        iPad mini       0     397.75  1
## 1233        iPad mini        iPad mini       0     398.99  1
## 1234        iPad mini        iPad mini       0     399.99  1
## 1235        iPad mini        iPad mini       0     429.00  1
## 1236        iPad mini        iPad mini       0     429.99  1
## 1237        iPad mini        iPad mini       0     475.00  1
## 1238        iPad mini        iPad mini       0     499.99  1
## 1239        iPad mini        iPad mini       0     720.12  1
## 1240        iPad mini        iPad mini       0     999.00  1
## 1241      iPad mini 2      iPad mini 2       0       0.01  1
## 1242      iPad mini 2      iPad mini 2       0      10.00  1
## 1243      iPad mini 2      iPad mini 2       0      25.00  1
## 1244      iPad mini 2      iPad mini 2       0      49.99  1
## 1245      iPad mini 2      iPad mini 2       0      79.95  1
## 1246      iPad mini 2      iPad mini 2       0      99.97  1
## 1247      iPad mini 2      iPad mini 2       0     119.00  1
## 1248      iPad mini 2      iPad mini 2       0     129.99  1
## 1249      iPad mini 2      iPad mini 2       0     130.00  1
## 1250      iPad mini 2      iPad mini 2       0     145.00  1
## 1251      iPad mini 2      iPad mini 2       0     149.00  1
## 1252      iPad mini 2      iPad mini 2       0     149.95  1
## 1253      iPad mini 2      iPad mini 2       0     150.00  1
## 1254      iPad mini 2      iPad mini 2       0     155.00  1
## 1255      iPad mini 2      iPad mini 2       0     160.00  1
## 1256      iPad mini 2      iPad mini 2       0     185.00  1
## 1257      iPad mini 2      iPad mini 2       0     195.00  1
## 1258      iPad mini 2      iPad mini 2       0     199.00  1
## 1259      iPad mini 2      iPad mini 2       0     201.99  1
## 1260      iPad mini 2      iPad mini 2       0     209.98  1
## 1261      iPad mini 2      iPad mini 2       0     210.00  1
## 1262      iPad mini 2      iPad mini 2       0     215.00  1
## 1263      iPad mini 2      iPad mini 2       0     217.00  1
## 1264      iPad mini 2      iPad mini 2       0     222.72  1
## 1265      iPad mini 2      iPad mini 2       0     223.00  1
## 1266      iPad mini 2      iPad mini 2       0     229.00  1
## 1267      iPad mini 2      iPad mini 2       0     237.00  1
## 1268      iPad mini 2      iPad mini 2       0     238.80  1
## 1269      iPad mini 2      iPad mini 2       0     239.00  1
## 1270      iPad mini 2      iPad mini 2       0     239.99  1
## 1271      iPad mini 2      iPad mini 2       0     245.00  1
## 1272      iPad mini 2      iPad mini 2       0     248.18  1
## 1273      iPad mini 2      iPad mini 2       0     259.95  1
## 1274      iPad mini 2      iPad mini 2       0     260.00  1
## 1275      iPad mini 2      iPad mini 2       0     264.99  1
## 1276      iPad mini 2      iPad mini 2       0     279.99  1
## 1277      iPad mini 2      iPad mini 2       0     289.95  1
## 1278      iPad mini 2      iPad mini 2       0     295.00  1
## 1279      iPad mini 2      iPad mini 2       0     299.99  1
## 1280      iPad mini 2      iPad mini 2       0     308.00  1
## 1281      iPad mini 2      iPad mini 2       0     310.00  1
## 1282      iPad mini 2      iPad mini 2       0     319.98  1
## 1283      iPad mini 2      iPad mini 2       0     319.99  1
## 1284      iPad mini 2      iPad mini 2       0     327.58  1
## 1285      iPad mini 2      iPad mini 2       0     339.00  1
## 1286      iPad mini 2      iPad mini 2       0     339.99  1
## 1287      iPad mini 2      iPad mini 2       0     350.25  1
## 1288      iPad mini 2      iPad mini 2       0     376.00  1
## 1289      iPad mini 2      iPad mini 2       0     379.99  1
## 1290      iPad mini 2      iPad mini 2       0     380.00  1
## 1291      iPad mini 2      iPad mini 2       0     385.00  1
## 1292      iPad mini 2      iPad mini 2       0     387.00  1
## 1293      iPad mini 2      iPad mini 2       0     395.00  1
## 1294      iPad mini 2      iPad mini 2       0     400.00  1
## 1295      iPad mini 2      iPad mini 2       0     429.99  1
## 1296      iPad mini 2      iPad mini 2       0     430.00  1
## 1297      iPad mini 2      iPad mini 2       0     449.00  1
## 1298      iPad mini 2      iPad mini 2       0     450.00  1
## 1299      iPad mini 2      iPad mini 2       0     458.00  1
## 1300      iPad mini 2      iPad mini 2       0     460.00  1
## 1301      iPad mini 2      iPad mini 2       0     469.00  1
## 1302      iPad mini 2      iPad mini 2       0     500.00  1
## 1303      iPad mini 2      iPad mini 2       0     509.00  1
## 1304      iPad mini 2      iPad mini 2       0     550.00  1
## 1305      iPad mini 2      iPad mini 2       0     575.00  1
## 1306      iPad mini 2      iPad mini 2       0     595.00  1
## 1307      iPad mini 3      iPad mini 3       0       0.45  1
## 1308      iPad mini 3      iPad mini 3       0       9.95  1
## 1309      iPad mini 3      iPad mini 3       0      25.00  1
## 1310      iPad mini 3      iPad mini 3       0     100.00  1
## 1311      iPad mini 3      iPad mini 3       0     149.00  1
## 1312      iPad mini 3      iPad mini 3       0     175.00  1
## 1313      iPad mini 3      iPad mini 3       0     197.97  1
## 1314      iPad mini 3      iPad mini 3       0     199.99  1
## 1315      iPad mini 3      iPad mini 3       0     249.00  1
## 1316      iPad mini 3      iPad mini 3       0     250.00  1
## 1317      iPad mini 3      iPad mini 3       0     290.00  1
## 1318      iPad mini 3      iPad mini 3       0     295.95  1
## 1319      iPad mini 3      iPad mini 3       0     299.00  1
## 1320      iPad mini 3      iPad mini 3       0     309.95  1
## 1321      iPad mini 3      iPad mini 3       0     329.00  1
## 1322      iPad mini 3      iPad mini 3       0     331.99  1
## 1323      iPad mini 3      iPad mini 3       0     332.50  1
## 1324      iPad mini 3      iPad mini 3       0     334.00  1
## 1325      iPad mini 3      iPad mini 3       0     335.00  1
## 1326      iPad mini 3      iPad mini 3       0     339.50  1
## 1327      iPad mini 3      iPad mini 3       0     339.98  1
## 1328      iPad mini 3      iPad mini 3       0     340.00  1
## 1329      iPad mini 3      iPad mini 3       0     349.95  1
## 1330      iPad mini 3      iPad mini 3       0     349.99  1
## 1331      iPad mini 3      iPad mini 3       0     359.00  1
## 1332      iPad mini 3      iPad mini 3       0     359.99  1
## 1333      iPad mini 3      iPad mini 3       0     370.00  1
## 1334      iPad mini 3      iPad mini 3       0     379.95  1
## 1335      iPad mini 3      iPad mini 3       0     379.99  1
## 1336      iPad mini 3      iPad mini 3       0     380.00  1
## 1337      iPad mini 3      iPad mini 3       0     385.00  1
## 1338      iPad mini 3      iPad mini 3       0     394.99  1
## 1339      iPad mini 3      iPad mini 3       0     399.00  1
## 1340      iPad mini 3      iPad mini 3       0     419.95  1
## 1341      iPad mini 3      iPad mini 3       0     419.99  1
## 1342      iPad mini 3      iPad mini 3       0     425.00  1
## 1343      iPad mini 3      iPad mini 3       0     426.99  1
## 1344      iPad mini 3      iPad mini 3       0     439.99  1
## 1345      iPad mini 3      iPad mini 3       0     445.95  1
## 1346      iPad mini 3      iPad mini 3       0     449.95  1
## 1347      iPad mini 3      iPad mini 3       0     450.00  1
## 1348      iPad mini 3      iPad mini 3       0     459.99  1
## 1349      iPad mini 3      iPad mini 3       0     460.00  1
## 1350      iPad mini 3      iPad mini 3       0     469.99  1
## 1351      iPad mini 3      iPad mini 3       0     475.00  1
## 1352      iPad mini 3      iPad mini 3       0     485.00  1
## 1353      iPad mini 3      iPad mini 3       0     510.00  1
## 1354      iPad mini 3      iPad mini 3       0     525.00  1
## 1355      iPad mini 3      iPad mini 3       0     529.99  1
## 1356      iPad mini 3      iPad mini 3       0     549.99  1
## 1357      iPad mini 3      iPad mini 3       0     550.00  1
## 1358      iPad mini 3      iPad mini 3       0     559.99  1
## 1359      iPad mini 3      iPad mini 3       0     569.00  1
## 1360      iPad mini 3      iPad mini 3       0     575.00  1
## 1361      iPad mini 3      iPad mini 3       0     579.99  1
## 1362      iPad mini 3      iPad mini 3       0     609.99  1
## 1363      iPad mini 3      iPad mini 3       0     614.99  1
## 1364      iPad mini 3      iPad mini 3       0     639.99  1
## 1365      iPad mini 3      iPad mini 3       0     650.00  1
## 1366      iPad mini 3      iPad mini 3       0     689.99  1
## 1367      iPad mini 3      iPad mini 3       0     799.99  1
## 1368      iPad mini 3      iPad mini 3       0     948.98  1
## 1369 iPad mini Retina iPad mini Retina       0     160.00  1
## 1370 iPad mini Retina iPad mini Retina       0     235.00  1
## 1371 iPad mini Retina iPad mini Retina       0     250.00  1
## 1372 iPad mini Retina iPad mini Retina       0     299.00  1
## 1373 iPad mini Retina iPad mini Retina       0     303.67  1
## 1374 iPad mini Retina iPad mini Retina       0     339.00  1
## 1375 iPad mini Retina iPad mini Retina       0     350.00  1
## 1376 iPad mini Retina iPad mini Retina       0     420.00  1
glb_allobs_df[glb_allobs_df$UniqueID == 12156, "prdline.my"] <- "iPad 1"
glb_allobs_df[glb_allobs_df$UniqueID == 11811, "prdline.my"] <- "iPad 2"
glb_allobs_df[glb_allobs_df$UniqueID == 11767, "prdline.my"] <- "iPad 2"
glb_allobs_df[glb_allobs_df$UniqueID == 11767, "storage"] <- "32"

# dsp_obs(list(prdline.my="Unknown"), all=TRUE)

#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
tmp_allobs_df <- glb_allobs_df[, "prdline.my", FALSE]
names(tmp_allobs_df) <- "old.prdline.my"
glb_allobs_df$prdline.my <-
    plyr::revalue(glb_allobs_df$prdline.my, c(      
        # "iPad 1"    = "iPad",
        # "iPad 2"    = "iPad2+",
        "iPad 3"    = "iPad 3+",
        "iPad 4"    = "iPad 3+",
        "iPad 5"    = "iPad 3+",
        
        "iPad Air"      = "iPadAir",
        "iPad Air 2"    = "iPadAir",
        
        "iPad mini"         = "iPadmini",
        "iPad mini 2"       = "iPadmini 2+",
        "iPad mini 3"       = "iPadmini 2+",
        "iPad mini Retina"  = "iPadmini 2+"
    ))
tmp_allobs_df$prdline.my <- glb_allobs_df[, "prdline.my"]
print(mycreate_sqlxtab_df(tmp_allobs_df, c("prdline.my", "old.prdline.my")))
##     prdline.my   old.prdline.my  .n
## 1       iPad 2           iPad 2 442
## 2     iPadmini        iPad mini 393
## 3       iPad 1           iPad 1 314
## 4      Unknown          Unknown 285
## 5      iPadAir         iPad Air 257
## 6      iPadAir       iPad Air 2 233
## 7      iPad 3+           iPad 4 225
## 8      iPad 3+           iPad 3 208
## 9  iPadmini 2+      iPad mini 2 163
## 10 iPadmini 2+      iPad mini 3 128
## 11 iPadmini 2+ iPad mini Retina   8
## 12     iPad 3+           iPad 5   1
print(mycreate_sqlxtab_df(tmp_allobs_df, c("prdline.my")))
##    prdline.my  .n
## 1     iPadAir 490
## 2      iPad 2 442
## 3     iPad 3+ 434
## 4    iPadmini 393
## 5      iPad 1 314
## 6 iPadmini 2+ 299
## 7     Unknown 285
glb_allobs_df$prdline.my.fctr <- as.factor(glb_allobs_df$prdline.my)
glb_allobs_df$storage.fctr <- as.factor(glb_allobs_df$storage)

# print(sapply(names(glb_trnobs_df), function(col) sum(is.na(glb_trnobs_df[, col]))))
# print(sapply(names(glb_newobs_df), function(col) sum(is.na(glb_newobs_df[, col]))))

# print(myplot_scatter(glb_trnobs_df, "<col1_name>", "<col2_name>", smooth=TRUE))

rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr, 
   glb_full_DTM_lst, glb_sprs_DTM_lst, txt_corpus, txt_vctr)
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'corpus_lst' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'full_TfIdf_vctr' not found
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, "extract.features_end", 
                                     major.inc=TRUE)
##                        label step_major step_minor    bgn    end elapsed
## 9  extract.features_bind.DXM          8          0 34.219 86.383  52.164
## 10      extract.features_end          9          0 86.383     NA      NA
myplt_chunk(extract.features_chunk_df)
##                                                    label step_major
## 9                              extract.features_bind.DXM          8
## 5                          extract.features_build.corpus          4
## 7                            extract.features_report.DTM          6
## 3                          extract.features_process.text          3
## 6                           extract.features_extract.DTM          5
## 2                    extract.features_factorize.str.vars          2
## 8                              extract.features_bind.DTM          7
## 1                                   extract.features_bgn          1
## 4 extract.features_process.text_reporting_compound_terms          3
##   step_minor    bgn    end elapsed duration
## 9          0 34.219 86.383  52.164   52.164
## 5          0 18.026 29.220  11.194   11.194
## 7          0 30.544 33.789   3.245    3.245
## 3          0 15.983 18.020   2.037    2.037
## 6          0 29.221 30.543   1.322    1.322
## 2          0 14.734 15.983   1.249    1.249
## 8          0 33.790 34.218   0.429    0.428
## 1          0 14.721 14.733   0.012    0.012
## 4          1 18.021 18.025   0.004    0.004
## [1] "Total Elapsed Time: 86.383 secs"

# if (glb_save_envir)
#     save(glb_feats_df, 
#          glb_allobs_df, #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
#          file=paste0(glb_out_pfx, "extract_features_dsk.RData"))
# load(paste0(glb_out_pfx, "extract_features_dsk.RData"))

replay.petrisim(pn=glb_analytics_pn, 
    replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs, 
        "data.training.all","data.new")), flip_coord=TRUE)
## time trans    "bgn " "fit.data.training.all " "predict.data.new " "end " 
## 0.0000   multiple enabled transitions:  data.training.all data.new model.selected    firing:  data.training.all 
## 1.0000    1   2 1 0 0 
## 1.0000   multiple enabled transitions:  data.training.all data.new model.selected model.final data.training.all.prediction   firing:  data.new 
## 2.0000    2   1 1 1 0

glb_chunks_df <- myadd_chunk(glb_chunks_df, "cluster.data", major.inc=TRUE)
##              label step_major step_minor    bgn   end elapsed
## 5 extract.features          3          0 14.715 87.76  73.046
## 6     cluster.data          4          0 87.761    NA      NA

Step 4.0: cluster data

glb_chunks_df <- myadd_chunk(glb_chunks_df, "manage.missing.data", major.inc=FALSE)
##                 label step_major step_minor    bgn    end elapsed
## 6        cluster.data          4          0 87.761 88.809   1.048
## 7 manage.missing.data          4          1 88.810     NA      NA
# If mice crashes with error: Error in get(as.character(FUN), mode = "function", envir = envir) : object 'State' of mode 'function' was not found
#   consider excluding 'State' as a feature

# print(sapply(names(glb_trnobs_df), function(col) sum(is.na(glb_trnobs_df[, col]))))
# print(sapply(names(glb_newobs_df), function(col) sum(is.na(glb_newobs_df[, col]))))
# glb_trnobs_df <- na.omit(glb_trnobs_df)
# glb_newobs_df <- na.omit(glb_newobs_df)
# df[is.na(df)] <- 0

mycheck_problem_data(glb_allobs_df)
## [1] "numeric data missing in : "
## sold 
##  798 
## [1] "numeric data w/ 0s in : "
##                biddable                    sold          startprice.log 
##                    1444                     999                      31 
##           cellular.fctr     D.terms.n.post.stop D.terms.n.post.stop.log 
##                    1597                    1521                    1521 
##   D.TfIdf.sum.post.stop     D.terms.n.post.stem D.terms.n.post.stem.log 
##                    1521                    1521                    1521 
##   D.TfIdf.sum.post.stem              D.T.condit                 D.T.use 
##                    1521                    2161                    2366 
##             D.T.scratch                 D.T.new                D.T.good 
##                    2371                    2501                    2460 
##                D.T.ipad              D.T.screen               D.T.great 
##                    2425                    2444                    2532 
##                D.T.work               D.T.excel             D.nwrds.log 
##                    2459                    2557                    1520 
##         D.nwrds.unq.log             D.sum.TfIdf D.ratio.sum.TfIdf.nwrds 
##                    1521                    1521                    1521 
##             D.nchrs.log             D.nuppr.log             D.ndgts.log 
##                    1520                    1522                    2426 
##           D.npnct01.log           D.npnct02.log           D.npnct03.log 
##                    2579                    2657                    2614 
##           D.npnct04.log           D.npnct05.log           D.npnct06.log 
##                    2657                    2592                    2554 
##           D.npnct07.log           D.npnct08.log           D.npnct09.log 
##                    2656                    2581                    2641 
##           D.npnct10.log           D.npnct11.log           D.npnct12.log 
##                    2648                    2301                    2537 
##           D.npnct13.log           D.npnct14.log           D.npnct15.log 
##                    1932                    2582                    2637 
##           D.npnct16.log           D.npnct17.log           D.npnct18.log 
##                    2546                    2657                    2656 
##           D.npnct19.log           D.npnct20.log           D.npnct21.log 
##                    2657                    2657                    2657 
##           D.npnct22.log           D.npnct23.log           D.npnct24.log 
##                    2657                    2657                    1520 
##           D.npnct25.log           D.npnct26.log           D.npnct27.log 
##                    2657                    2657                    2657 
##           D.npnct28.log           D.npnct29.log           D.npnct30.log 
##                    2649                    2657                    2657 
##         D.nstopwrds.log                D.P.http                D.P.mini 
##                    1663                    2657                    2623 
##                 D.P.air 
##                    2637 
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## description   condition    cellular     carrier       color     storage 
##        1520           0           0           0           0           0 
## productline      .grpid  prdline.my    descr.my 
##           0          NA           0        1520
# glb_allobs_df <- na.omit(glb_allobs_df)

# Not refactored into mydsutils.R since glb_*_df might be reassigned
glb_impute_missing_data <- function() {
    
    require(mice)
    set.seed(glb_mice_complete.seed)
    inp_impent_df <- glb_allobs_df[, setdiff(names(glb_allobs_df), 
                                union(glb_exclude_vars_as_features, glb_rsp_var))]
    print("Summary before imputation: ")
    print(summary(inp_impent_df))
    out_impent_df <- complete(mice(inp_impent_df))
    print(summary(out_impent_df))
    
    ret_vars <- sapply(names(out_impent_df), 
                       function(col) ifelse(!identical(out_impent_df[, col],
                                                       inp_impent_df[, col]), 
                                            col, ""))
    ret_vars <- ret_vars[ret_vars != ""]
    
    # complete(mice()) changes attributes of factors even though values don't change
    for (col in ret_vars) {
        if (inherits(out_impent_df[, col], "factor")) {
            if (identical(as.numeric(out_impent_df[, col]), 
                          as.numeric(inp_impent_df[, col])))
                ret_vars <- setdiff(ret_vars, col)
        }
    }
    return(out_impent_df[, ret_vars])
}

if (glb_impute_na_data && 
    (length(myfind_numerics_missing(glb_allobs_df)) > 0) &&
    (ncol(nonna_df <- glb_impute_missing_data()) > 0)) {
    for (col in names(nonna_df)) {
        glb_allobs_df[, paste0(col, ".nonNA")] <- nonna_df[, col]
        glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, col)        
    }
}    
    
mycheck_problem_data(glb_allobs_df, terminate = TRUE)
## [1] "numeric data missing in : "
## sold 
##  798 
## [1] "numeric data w/ 0s in : "
##                biddable                    sold          startprice.log 
##                    1444                     999                      31 
##           cellular.fctr     D.terms.n.post.stop D.terms.n.post.stop.log 
##                    1597                    1521                    1521 
##   D.TfIdf.sum.post.stop     D.terms.n.post.stem D.terms.n.post.stem.log 
##                    1521                    1521                    1521 
##   D.TfIdf.sum.post.stem              D.T.condit                 D.T.use 
##                    1521                    2161                    2366 
##             D.T.scratch                 D.T.new                D.T.good 
##                    2371                    2501                    2460 
##                D.T.ipad              D.T.screen               D.T.great 
##                    2425                    2444                    2532 
##                D.T.work               D.T.excel             D.nwrds.log 
##                    2459                    2557                    1520 
##         D.nwrds.unq.log             D.sum.TfIdf D.ratio.sum.TfIdf.nwrds 
##                    1521                    1521                    1521 
##             D.nchrs.log             D.nuppr.log             D.ndgts.log 
##                    1520                    1522                    2426 
##           D.npnct01.log           D.npnct02.log           D.npnct03.log 
##                    2579                    2657                    2614 
##           D.npnct04.log           D.npnct05.log           D.npnct06.log 
##                    2657                    2592                    2554 
##           D.npnct07.log           D.npnct08.log           D.npnct09.log 
##                    2656                    2581                    2641 
##           D.npnct10.log           D.npnct11.log           D.npnct12.log 
##                    2648                    2301                    2537 
##           D.npnct13.log           D.npnct14.log           D.npnct15.log 
##                    1932                    2582                    2637 
##           D.npnct16.log           D.npnct17.log           D.npnct18.log 
##                    2546                    2657                    2656 
##           D.npnct19.log           D.npnct20.log           D.npnct21.log 
##                    2657                    2657                    2657 
##           D.npnct22.log           D.npnct23.log           D.npnct24.log 
##                    2657                    2657                    1520 
##           D.npnct25.log           D.npnct26.log           D.npnct27.log 
##                    2657                    2657                    2657 
##           D.npnct28.log           D.npnct29.log           D.npnct30.log 
##                    2649                    2657                    2657 
##         D.nstopwrds.log                D.P.http                D.P.mini 
##                    1663                    2657                    2623 
##                 D.P.air 
##                    2637 
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## description   condition    cellular     carrier       color     storage 
##        1520           0           0           0           0           0 
## productline      .grpid  prdline.my    descr.my 
##           0          NA           0        1520

Step 4.1: manage missing data

if (glb_cluster) {
    require(proxy)
    #require(hash)
    require(dynamicTreeCut)
    require(entropy)
    require(tidyr)

#     glb_hash <- hash(key=unique(glb_allobs_df$myCategory), 
#                      values=1:length(unique(glb_allobs_df$myCategory)))
#     glb_hash_lst <- hash(key=unique(glb_allobs_df$myCategory), 
#                      values=1:length(unique(glb_allobs_df$myCategory)))
#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
    print("Clustering features: ")
    print(cluster_vars <- grep(paste0("[", 
                                toupper(paste0(substr(glb_txt_vars, 1, 1), collapse="")),
                                      "]\\.[PT]\\."), 
                               names(glb_allobs_df), value=TRUE))
    print(sprintf("glb_allobs_df Entropy: %0.4f", 
        allobs_ent <- entropy(table(glb_allobs_df[, glb_rsp_var]), method="ML")))
    
    category_df <- as.data.frame(table(glb_allobs_df[, glb_category_var], 
                                       glb_allobs_df[, glb_rsp_var]))
    names(category_df)[c(1, 2)] <- c(glb_category_var, glb_rsp_var)
    category_df <- do.call(tidyr::spread, list(category_df, glb_rsp_var, "Freq"))
    tmp.entropy <- sapply(1:nrow(category_df),
                    function(row) entropy(as.numeric(category_df[row, -1]), method="ML"))
    tmp.knt <- sapply(1:nrow(category_df),
                    function(row) sum(as.numeric(category_df[row, -1])))
    category_df$.entropy <- tmp.entropy; category_df$.knt <- tmp.knt
    print(sprintf("glb_allobs_df$%s Entropy: %0.4f (%0.4f pct)", glb_category_var,
        category_ent <- weighted.mean(category_df$.entropy, category_df$.knt),
        100 * category_ent / allobs_ent))
    print(category_df)

    glb_allobs_df$.clusterid <- 1    
    #print(max(table(glb_allobs_df$myCategory.fctr) / 20))
    
    for (grp in sort(unique(glb_allobs_df[, glb_category_var]))) {
        print(sprintf("Category: %s", grp))
        ctgry_allobs_df <- glb_allobs_df[glb_allobs_df[, glb_category_var] == grp, ]
        
        dstns_dist <- dist(ctgry_allobs_df[, cluster_vars], method = "cosine")
        dstns_mtrx <- as.matrix(dstns_dist)
        print(sprintf("max distance(%0.4f) pair:", max(dstns_mtrx)))
        row_ix <- ceiling(which.max(dstns_mtrx) / ncol(dstns_mtrx))
        col_ix <- which.max(dstns_mtrx[row_ix, ])
        print(ctgry_allobs_df[c(row_ix, col_ix), 
            c(glb_id_var, glb_rsp_var, glb_category_var, glb_txt_vars, cluster_vars)])
    
        min_dstns_mtrx <- dstns_mtrx
        diag(min_dstns_mtrx) <- 1
        print(sprintf("min distance(%0.4f) pair:", min(min_dstns_mtrx)))
        row_ix <- ceiling(which.min(min_dstns_mtrx) / ncol(min_dstns_mtrx))
        col_ix <- which.min(min_dstns_mtrx[row_ix, ])
        print(ctgry_allobs_df[c(row_ix, col_ix), 
            c(glb_id_var, glb_rsp_var, glb_category_var, glb_txt_vars, cluster_vars)])
    
        clusters <- hclust(dstns_dist, method = "ward.D2")
        #plot(clusters, labels=NULL, hang=-1)
        myplclust(clusters, lab.col=unclass(ctgry_allobs_df[, glb_rsp_var]))
        
        #clusterGroups = cutree(clusters, k=7)
        clusterGroups <- cutreeDynamic(clusters, minClusterSize=20, method="tree", deepSplit=0)
        # Unassigned groups are labeled 0; the largest group has label 1
        table(clusterGroups, ctgry_allobs_df[, glb_rsp_var], useNA="ifany")   
        #print(ctgry_allobs_df[which(clusterGroups == 1), c("UniqueID", "Popular", "Headline")])
        #print(ctgry_allobs_df[(clusterGroups == 1) & !is.na(ctgry_allobs_df$Popular) & (ctgry_allobs_df$Popular==1), c("UniqueID", "Popular", "Headline")])
        clusterGroups[clusterGroups == 0] <- 1
        table(clusterGroups, ctgry_allobs_df[, glb_rsp_var], useNA="ifany")        
        #summary(factor(clusterGroups))
#         clusterGroups <- clusterGroups + 
#                 100 * # has to be > max(table(glb_allobs_df[, glb_category_var].fctr) / minClusterSize=20)
#                             which(levels(glb_allobs_df[, glb_category_var].fctr) == grp)
#         table(clusterGroups, ctgry_allobs_df[, glb_rsp_var], useNA="ifany")        
    
        # add to glb_allobs_df - then split the data again
        glb_allobs_df[glb_allobs_df[, glb_category_var]==grp,]$.clusterid <- clusterGroups
        #print(unique(glb_allobs_df$.clusterid))
        #print(glb_feats_df[glb_feats_df$id == ".clusterid.fctr", ])
    }
    
    cluster_df <- as.data.frame(table(glb_allobs_df[, glb_category_var], 
                                      glb_allobs_df[, ".clusterid"], 
                                      glb_allobs_df[, glb_rsp_var]))
    cluster_df <- subset(cluster_df, Freq > 0)
    names(cluster_df)[c(1, 2, 3)] <- c(glb_category_var, ".clusterid", glb_rsp_var)
#     spread(unite(cluster_df, prdline.my.clusterid, prdline.my, .clusterid),
#            sold.fctr, Freq)
    cluster_df <- do.call(tidyr::unite,
                          list(cluster_df, paste0(glb_category_var, ".clusterid"),
                               grep(glb_category_var, names(cluster_df)),
                               grep(".clusterid", names(cluster_df))))
    cluster_df <- do.call(tidyr::spread, 
                          list(cluster_df, glb_rsp_var, "Freq"))
    tmp.entropy <- sapply(1:nrow(cluster_df),
                    function(row) entropy(as.numeric(cluster_df[row, -1]), method="ML"))
    tmp.knt <- sapply(1:nrow(cluster_df),
                    function(row) sum(as.numeric(cluster_df[row, -1])))
    cluster_df$.entropy <- tmp.entropy; cluster_df$.knt <- tmp.knt
    print(sprintf("glb_allobs_df$%s$.clusterid Entropy: %0.4f (%0.4f pct)",
                  glb_category_var,
        cluster_ent <- weighted.mean(cluster_df$.entropy, cluster_df$.knt),
        100 * cluster_ent / category_ent))
    print(cluster_df)

    glb_allobs_df$.clusterid.fctr <- as.factor(glb_allobs_df$.clusterid)
    glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, 
                                      ".clusterid")
    glb_interaction_only_features[paste0(glb_category_var, ".fctr")] <-
        c(".clusterid.fctr")
    glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, 
                                      cluster_vars)
}
## Loading required package: proxy
## 
## Attaching package: 'proxy'
## 
## The following objects are masked from 'package:stats':
## 
##     as.dist, dist
## 
## The following object is masked from 'package:base':
## 
##     as.matrix
## 
## Loading required package: dynamicTreeCut
## Loading required package: entropy
## Loading required package: tidyr
## [1] "Clustering features: "
##  [1] "D.T.condit"  "D.T.use"     "D.T.scratch" "D.T.new"     "D.T.good"   
##  [6] "D.T.ipad"    "D.T.screen"  "D.T.great"   "D.T.work"    "D.T.excel"  
## [11] "D.P.http"    "D.P.mini"    "D.P.air"    
## [1] "glb_allobs_df Entropy: 5.5618"
## [1] "glb_allobs_df$prdline.my Entropy: 4.7594 (85.5734 pct)"
##    prdline.my 0.01 0.1 0.45 0.5 0.98 0.99 1 1.99 2.99 3.99 4.69 4.99 5
## 1     Unknown    1   0    0   0    0   25 1    0    1    1    1    1 2
## 2      iPad 1    3   0    0   0    0   26 6    0    0    0    0    0 0
## 3      iPad 2   10   2    0   0    0   38 4    0    0    0    0    0 1
## 4     iPad 3+    6   0    0   1    0   27 4    0    0    0    0    0 1
## 5     iPadAir    1   0    0   0    0   31 9    1    0    0    0    0 0
## 6    iPadmini    3   0    0   0    1   34 5    0    0    0    0    0 2
## 7 iPadmini 2+    3   0    1   0    0   20 2    0    0    0    0    0 0
##   5.65 7.99 8 8.99 9 9.5 9.95 9.99 10 10.99 14 14.49 14.99 15 17.75 19.5
## 1    1    1 0    1 0   0    1    2  1     0  1     1     1  3     1    0
## 2    0    0 0    0 0   2    1    2  2     0  0     0     2  2     0    0
## 3    0    0 0    0 0   0    0    7  0     0  0     0     0  2     0    0
## 4    0    2 1    0 0   0    0    4  4     0  0     0     0  0     0    0
## 5    0    0 0    0 1   0    0    0  1     0  0     0     0  0     0    0
## 6    0    0 0    0 0   0    0    2  2     1  0     0     0  0     0    1
## 7    0    0 0    0 0   0    1    0  1     0  0     0     0  0     0    0
##   19.95 19.99 20 24.99 25 28 28.75 29.95 29.99 30 30.99 32.95 33 35 36.95
## 1     0     1  2     1  4  1     1     0     0  1     1     1  0  1     0
## 2     1     3  3     0  3  0     0     1     5  3     0     0  1  1     3
## 3     2     1  1     0  1  0     0     1     1  3     0     0  0  0     0
## 4     0     0  1     0  2  0     0     0     0  0     0     0  0  1     0
## 5     0     0  1     1  1  0     0     0     0  0     0     0  0  0     0
## 6     0     1  3     0  3  0     0     0     1  2     0     0  0  0     0
## 7     0     0  0     0  2  0     0     0     0  0     0     0  0  0     0
##   37.98 38.99 39 39.99 40 41 42 43.2 44.99 45 48 48.99 49 49.49 49.95
## 1     1     0  0     2  2  1  0    1     1  1  0     0  0     0     1
## 2     0     0  0     1  5  0  1    0     0  2  1     1  0     1     0
## 3     0     0  0     1  4  0  0    0     0  1  0     0  1     0     0
## 4     0     1  1     0  0  0  0    0     0  1  0     0  0     0     0
## 5     0     0  0     0  0  0  0    0     0  0  0     0  1     0     0
## 6     0     0  0     0  1  0  1    0     0  3  0     0  0     0     1
## 7     0     0  0     0  0  0  0    0     0  0  0     0  0     0     0
##   49.99 50 51.99 52.25 52.99 54.99 55 55.66 56 57.5 58 59 59.95 59.99 60
## 1     1  7     1     1     0     0  0     0  0    1  1  0     1     1  0
## 2     4 22     0     0     1     1  5     1  1    0  2  1     0     1  2
## 3     4  6     0     0     0     0  0     0  0    0  0  0     0     2  1
## 4     2  4     0     0     0     0  0     0  0    0  0  0     0     0  0
## 5     2  4     0     0     0     0  0     0  0    0  0  1     0     0  1
## 6     1 10     0     0     0     0  0     0  0    0  0  0     0     1  3
## 7     1  0     0     0     0     0  0     0  0    0  0  0     0     0  0
##   62 63 64.99 65 66.99 69 69.5 69.69 69.95 69.99 70 70.99 71 71.99 72 74
## 1  0  1     0  1     0  1    0     0     0     0  2     1  0     0  0  0
## 2  2  0     1  3     0  2    0     0     0     2  7     0  0     0  1  1
## 3  0  0     0  2     1  0    1     0     1     2  3     0  0     1  1  1
## 4  0  0     0  1     0  0    0     1     0     0  0     0  1     0  0  0
## 5  0  0     0  0     0  0    0     0     0     0  0     0  0     0  0  0
## 6  1  0     0  0     0  0    0     0     0     0  2     0  0     0  0  0
## 7  0  0     0  0     0  0    0     0     0     0  0     0  0     0  0  0
##   74.5 74.95 74.99 75 76 78 79 79.94 79.95 79.97 79.99 80 82.95 82.98
## 1    0     0     0  3  1  0  0     0     2     0     0  2     0     0
## 2    1     0     1 10  0  1  4     1     0     0     5 12     1     1
## 3    0     0     2  7  0  0  1     0     0     1     0  5     0     0
## 4    0     0     0  1  0  0  0     0     0     0     1  3     0     0
## 5    0     0     0  2  0  0  0     0     0     0     0  1     0     0
## 6    0     1     1  6  0  0  1     0     0     0     1  0     0     0
## 7    0     0     0  0  0  0  0     0     1     0     0  0     0     0
##   84.99 85 85.95 87 89 89.5 89.95 89.99 90 91 92 92.14 92.49 93 94.99 95
## 1     0  0     0  1  1    0     0     0  1  1  0     0     0  0     0  0
## 2     3  3     1  0  3    1     2     0 11  1  1     2     0  1     1  8
## 3     0  3     0  0  2    0     1     3  3  0  1     0     1  0     0  2
## 4     0  1     0  0  0    0     0     2  0  0  0     0     0  0     0  1
## 5     0  0     0  0  0    0     0     2  3  0  0     0     0  0     0  0
## 6     1  2     0  0  1    0     0     6  2  0  0     0     0  0     0  0
## 7     0  0     0  0  0    0     0     0  0  0  0     0     0  0     0  0
##   96 97.5 98 99 99.46 99.75 99.94 99.95 99.97 99.98 99.99 100 101 102 104
## 1  0    0  0  3     1     0     0     0     0     0     2   9   0   0   0
## 2  1    0  1  5     0     0     1     0     0     0     3  10   2   1   0
## 3  1    1  0  8     0     0     0     0     0     0     9  13   0   0   1
## 4  0    0  0  5     0     1     0     3     0     2     7  10   0   0   0
## 5  0    0  0  1     0     0     0     1     0     0     4   6   0   0   0
## 6  0    0  0  7     0     0     0     2     0     0    11  15   0   0   0
## 7  0    0  0  5     0     0     0     0     1     0     2   4   0   0   0
##   104.7 104.99 105 106.95 107 108 109 109.98 109.99 110 111 111.5 112
## 1     0      0   0      0   0   2   0      0      1   1   0     0   0
## 2     1      2   4      0   0   0   1      1      0   4   0     0   0
## 3     0      0   0      1   0   0   0      0      1   1   1     1   1
## 4     0      0   1      0   2   0   0      0      0   0   0     0   0
## 5     0      0   0      0   0   0   0      0      0   0   0     0   0
## 6     0      0   0      0   0   0   1      0      1   1   0     0   1
## 7     0      0   0      0   0   0   0      0      0   0   0     0   0
##   112.99 113 114.48 114.94 114.99 115 116.33 118 118.84 118.95 119 119.88
## 1      0   0      1      0      0   0      1   0      1      1   0      0
## 2      1   0      0      1      0   2      0   0      0      0   1      0
## 3      0   0      0      0      0   1      0   0      0      0   0      0
## 4      0   0      0      0      0   2      0   0      0      0   0      1
## 5      0   0      0      0      0   0      0   0      0      0   0      0
## 6      0   1      0      0      2   2      0   1      0      0   0      0
## 7      0   0      0      0      0   0      0   0      0      0   1      0
##   119.95 119.98 119.99 120 120.02 121 124 124.95 124.99 125 127.95 127.99
## 1      0      0      1   3      0   0   0      0      1   1      1      0
## 2      0      0      3   1      1   0   0      2      1   2      0      0
## 3      1      0      2   3      0   1   1      0      0   8      0      1
## 4      0      0      1   1      0   0   0      0      0   4      0      0
## 5      0      0      0   0      0   0   0      0      0   0      0      0
## 6      0      1      4   0      0   0   0      0      0   3      0      0
## 7      0      0      0   3      0   0   0      0      0   0      0      0
##   128 129 129.95 129.99 130 134.34 134.61 134.95 135 137.95 139 139.5
## 1   0   0      0      0   0      0      0      0   0      1   1     0
## 2   0   0      1      2   1      0      0      0   0      0   0     0
## 3   2   0      3      3   4      1      0      1   2      0   3     1
## 4   3   1      0      0   0      0      1      0   0      0   0     0
## 5   0   0      0      0   0      0      0      0   0      0   1     0
## 6   0   1      1      1   4      0      0      0   1      0   1     0
## 7   0   0      0      1   1      0      0      0   0      0   0     0
##   139.98 139.99 140 141.09 142.25 142.49 144.5 144.95 144.99 145 145.49
## 1      0      1   0      0      0      0     0      0      0   1      0
## 2      0      0   0      0      0      0     0      0      0   1      0
## 3      1      0   4      1      1      1     0      0      2   2      1
## 4      0      1   2      0      0      0     1      0      0   0      0
## 5      0      0   0      0      0      0     0      1      0   0      0
## 6      0      2   1      0      0      0     0      0      1   1      0
## 7      0      0   0      0      0      0     0      0      0   1      0
##   146.99 147.59 147.72 149 149.59 149.95 149.97 149.98 149.99 150 150.87
## 1      0      0      0   0      0      0      0      1      4  10      1
## 2      0      0      0   1      0      1      0      1      1   3      0
## 3      1      1      1   3      0      3      2      0      9  16      0
## 4      0      0      0   0      0      0      0      1      4  11      0
## 5      0      0      0   1      0      0      0      0      2   1      0
## 6      0      0      0   4      1      1      0      0      3  20      0
## 7      0      0      0   2      0      1      0      0      0   1      0
##   150.99 152 153.95 153.99 154 154.99 155 155.99 157 158.99 159 159.93
## 1      0   0      0      0   0      1   1      0   0      0   0      0
## 2      0   0      0      0   0      0   1      0   0      0   0      0
## 3      2   1      1      1   3      0   4      0   1      1   0      1
## 4      0   0      0      0   0      0   0      1   0      0   1      0
## 5      0   0      0      0   0      0   0      0   0      0   0      0
## 6      0   0      0      0   0      0   2      0   0      0   0      0
## 7      0   0      0      0   0      0   1      0   0      0   0      0
##   159.94 159.95 159.99 160 160.57 162 164 164.99 165 167.38 168 169 169.95
## 1      0      0      2   0      0   0   0      0   2      1   1   0      0
## 2      0      1      0   0      0   0   0      0   2      0   0   0      1
## 3      1      1      3   6      0   2   1      4   5      0   0   3      0
## 4      0      0      1   1      0   0   0      0   1      0   0   0      0
## 5      0      0      0   1      0   0   0      0   0      0   0   0      0
## 6      0      1      6   3      1   0   0      0   2      0   1   0      0
## 7      0      0      0   2      0   0   0      0   0      0   0   0      0
##   169.98 169.99 170 171 171.95 172 173 174 174.95 174.99 175 176.27 177.99
## 1      0      2   1   0      0   0   0   1      0      0   2      0      1
## 2      0      0   1   0      0   0   0   0      0      1   2      0      0
## 3      1      2   2   1      0   2   1   0      0      4  11      0      0
## 4      0      0   0   0      0   0   0   0      1      0   4      0      0
## 5      0      0   0   0      0   0   0   0      0      0   0      0      0
## 6      0      1   1   0      1   0   0   0      0      2   6      1      0
## 7      0      0   0   0      0   0   0   0      0      0   5      0      0
##   178.99 179 179.95 179.96 179.99 180 181 182 182.77 184.5 184.95 184.99
## 1      0   0      0      0      1   1   0   0      1     0      0      0
## 2      0   0      0      0      0   3   0   0      0     0      0      0
## 3      0   5      2      0      4   7   0   1      0     0      0      1
## 4      0   1      1      0      2   2   0   0      0     1      1      0
## 5      0   0      0      0      1   0   0   0      0     0      0      1
## 6      1   3      0      1      3   1   1   0      0     0      0      1
## 7      0   0      0      0      0   3   0   0      0     0      0      0
##   185 185.49 186 187 187.5 187.89 187.99 188 188.88 188.99 189 189.85
## 1   2      0   1   0     0      0      0   1      0      0   0      0
## 2   0      0   0   0     0      0      0   0      0      0   0      0
## 3   0      0   0   0     0      0      0   0      0      0   1      1
## 4   4      0   0   0     3      0      0   0      0      1   1      0
## 5   1      0   0   1     0      0      0   0      0      0   0      0
## 6   1      1   0   0     0      1      0   0      1      0   0      0
## 7   1      0   0   0     0      0      2   0      0      0   0      0
##   189.95 189.99 190 190.45 190.99 193 193.15 194 194.29 194.85 194.95 195
## 1      0      0   0      0      1   0      1   0      0      0      0   1
## 2      0      0   0      1      0   0      0   0      0      0      0   0
## 3      1      4   1      1      0   1      0   1      0      1      1   1
## 4      0      1   1      0      0   0      0   0      0      0      0   2
## 5      0      1   0      0      0   0      0   0      0      0      0   0
## 6      0      3   2      0      0   0      0   0      1      0      0   1
## 7      0      0   0      0      0   0      0   0      0      0      0   1
##   196 196.79 197.97 198 198.98 199 199.69 199.97 199.99 200 200.29 201.99
## 1   0      1      0   0      0   3      0      1      2   3      0      0
## 2   0      0      0   1      0   0      0      0      1   1      0      0
## 3   0      0      0   0      1   1      0      0     10   8      0      0
## 4   1      0      0   0      0   5      1      0     11  16      1      0
## 5   0      0      0   0      0   2      0      0      7   8      0      0
## 6   0      0      0   1      0   6      0      1      9   8      0      0
## 7   0      0      1   0      0   3      0      0      1   5      0      1
##   204 204.95 205 208 208.99 209 209.85 209.9 209.98 209.99 210 210.99
## 1   0      0   0   0      0   0      0     0      0      0   1      0
## 2   0      0   0   0      0   0      0     1      0      0   0      0
## 3   2      1   0   0      0   1      0     0      0      0   1      0
## 4   1      0   0   0      0   2      0     0      0      2   0      1
## 5   0      0   0   0      0   2      0     0      0      0   0      0
## 6   0      0   1   1      1   1      1     0      0      1   3      0
## 7   0      0   0   0      0   0      0     0      1      0   1      0
##   211.5 211.95 212.99 214.95 214.98 214.99 215 215.99 217 218 219 219.85
## 1     0      0      0      1      0      0   1      0   0   0   0      0
## 2     0      0      0      0      0      0   0      0   0   0   0      0
## 3     0      1      1      0      0      0   1      1   0   0   0      1
## 4     0      0      0      0      0      1   3      0   0   1   0      0
## 5     0      0      0      0      0      0   0      0   0   0   0      0
## 6     1      0      1      0      1      0   2      1   0   0   1      0
## 7     0      0      0      0      0      0   1      0   1   0   0      0
##   219.95 219.99 220 222.72 223 224 224.98 224.99 225 227 227.88 227.95
## 1      0      0   1      0   0   1      0      0   1   0      0      0
## 2      0      0   1      0   0   0      0      0   1   1      0      0
## 3      0      0   2      0   0   0      0      0   1   0      0      1
## 4      1      5   6      0   0   0      1      1   8   0      0      0
## 5      0      0   0      0   0   0      0      0   1   0      0      0
## 6      0      2   1      0   0   0      0      0   2   0      1      0
## 7      0      0   0      1   1   0      0      0   6   0      0      0
##   228.59 228.88 229 229.95 229.97 229.98 229.99 230 232.99 234 234.99 235
## 1      0      0   1      1      0      0      1   1      1   0      0   0
## 2      0      0   1      0      1      0      1   0      0   0      0   1
## 3      1      0   0      0      0      0      1   0      0   0      1   1
## 4      0      1   2      0      0      1      2   0      0   1      0   1
## 5      0      0   4      0      0      1      0   0      0   0      0   0
## 6      0      0   0      0      0      0      0   2      0   0      0   1
## 7      0      0   1      0      0      0      0   2      0   0      0   3
##   235.99 237 237.99 238 238.8 239 239.88 239.95 239.99 240 241.88 242
## 1      0   0      0   0     0   0      0      0      1   0      0   0
## 2      0   0      0   0     0   0      0      0      0   0      0   0
## 3      0   0      0   0     0   1      0      0      1   0      0   0
## 4      1   0      1   1     0   1      2      1      2   2      0   0
## 5      0   0      0   0     0   0      0      0      0   1      0   1
## 6      0   0      0   0     0   1      0      0      2   1      1   0
## 7      0   1      0   0     1   1      0      0      1   0      0   0
##   244.95 244.96 244.97 245 245.19 246 248 248.18 249 249.59 249.95 249.97
## 1      0      0      0   0      0   0   0      0   3      0      0      0
## 2      0      0      0   1      0   0   0      0   0      0      0      0
## 3      0      0      0   0      0   0   0      0   0      0      1      3
## 4      1      1      0   0      1   1   1      0   2      1      1      1
## 5      0      0      0   2      0   0   0      0   1      0      0      0
## 6      0      0      1   0      0   0   0      0   2      0      1      0
## 7      0      0      0   1      0   0   0      1   3      0      0      0
##   249.98 249.99 250 252.88 252.99 254.99 255 256.24 257.83 258.88 258.98
## 1      0      3   4      0      0      0   1      0      0      0      0
## 2      0      0   2      0      0      0   0      0      0      0      0
## 3      0      0   4      0      0      0   1      0      0      0      0
## 4      0     12  15      0      1      1   2      0      0      0      0
## 5      2      1   9      0      0      0   1      1      1      0      0
## 6      0      4   5      1      0      0   1      0      0      1      2
## 7      0      0   6      0      0      0   0      0      0      0      0
##   259 259.95 259.99 260 261.99 263.99 264.95 264.99 265 265.99 266.05 269
## 1   1      0      1   1      0      0      0      0   1      0      0   0
## 2   0      0      0   0      0      0      0      0   0      0      0   0
## 3   0      0      0   0      0      0      0      0   0      0      0   0
## 4   2      0      3   1      1      1      1      1   2      0      0   0
## 5   0      0      1   2      0      0      0      0   2      0      1   0
## 6   1      0      3   1      0      0      0      0   1      1      0   0
## 7   0      1      0   1      0      0      0      1   0      0      0   2
##   269.85 269.94 269.95 269.99 270 270.99 271 274 274.99 275 276.99 279
## 1      0      0      0      0   0      0   0   0      0   1      1   1
## 2      0      0      0      1   0      0   0   0      0   1      0   0
## 3      0      1      0      0   0      0   0   0      0   3      0   1
## 4      0      0      1      2   1      0   0   0      0   7      1   0
## 5      1      0      0      0   0      1   0   1      1   1      0   2
## 6      0      0      0      0   0      0   1   0      0   4      0   1
## 7      0      0      0      0   0      0   0   0      0   2      0   0
##   279.5 279.95 279.99 280 280.99 284 284.99 285 288 289 289.79 289.95
## 1     0      0      0   2      0   0      0   1   0   1      0      0
## 2     0      2      0   0      0   0      0   0   0   0      0      1
## 3     0      0      1   1      0   0      0   0   1   0      0      0
## 4     1      0      6   3      1   1      0   2   0   1      0      0
## 5     0      0      4   2      0   0      0   0   1   0      1      0
## 6     1      0      1   2      0   0      0   2   0   1      0      0
## 7     0      0      1   2      0   0      2   3   0   2      0      1
##   289.98 289.99 290 291.99 292.5 294.99 295 295.95 298 298.97 299 299.95
## 1      0      0   0      0     0      0   1      0   0      0   0      0
## 2      0      0   0      0     0      0   0      0   0      0   0      0
## 3      0      1   0      0     0      1   0      0   0      1   0      0
## 4      1      1   1      1     0      0   3      0   1      0   6      1
## 5      0      0   3      0     1      1   1      0   0      0   3      0
## 6      0      1   3      0     0      0   1      0   1      0   0      1
## 7      0      0   1      0     0      0   1      1   0      0   4      0
##   299.98 299.99 300 303.67 303.99 304.89 305 308 309.95 309.98 309.99 310
## 1      0      3   8      0      0      0   0   0      0      1      0   0
## 2      0      0   0      0      0      0   0   0      0      0      0   0
## 3      0      0   3      0      0      0   0   0      0      0      0   1
## 4      0      3   9      0      1      1   2   0      0      0      2   2
## 5      1      4  11      0      0      0   1   0      0      0      0   2
## 6      0      2   4      0      0      0   0   0      0      0      0   1
## 7      0      3   7      1      0      0   0   1      1      0      0   1
##   314.99 315 318 319 319.85 319.95 319.98 319.99 320 320.99 322.99 324.9
## 1      0   0   0   3      0      0      0      2   0      0      0     0
## 2      0   0   0   0      0      0      0      0   0      0      0     0
## 3      0   1   0   0      0      0      0      0   0      0      0     0
## 4      2   2   0   0      0      1      0      1   3      0      0     1
## 5      0   0   1   2      1      2      0      3   4      2      1     0
## 6      0   1   0   0      0      0      0      0   1      0      0     0
## 7      0   2   0   0      0      0      1      1   0      0      0     0
##   324.99 325 327.58 329 329.99 330 331.99 332.5 334 334.95 334.99 335 339
## 1      0   1      0   0      1   0      0     0   0      0      1   0   1
## 2      0   0      0   0      0   0      0     0   0      0      0   0   0
## 3      0   0      0   0      0   1      0     0   0      0      0   0   0
## 4      2   2      0   1      0   0      0     0   0      0      0   0   2
## 5      1   4      0   0      4   0      0     0   0      0      1   0   3
## 6      0   0      0   0      0   0      0     0   0      1      0   0   0
## 7      0   6      1   3      5   0      1     1   1      0      0   1   2
##   339.5 339.98 339.99 340 344 344.95 345 346 347 347.24 348.6 349 349.95
## 1     0      0      0   1   0      0   0   0   1      0     0   0      0
## 2     0      0      0   0   0      0   0   0   0      0     0   0      0
## 3     0      0      0   1   0      0   0   0   0      0     0   0      0
## 4     0      0      0   1   2      0   1   0   0      0     0   0      0
## 5     0      0      1   0   0      1   0   1   0      1     0   3      1
## 6     0      0      1   0   0      0   0   0   0      0     1   0      0
## 7     1      1      1   1   0      0   2   0   0      0     0   2      1
##   349.99 350 350.25 351 358.24 358.87 359 359.99 360 360.24 367.97 369.99
## 1      1   3      0   0      0      0   0      0   0      0      0      0
## 2      0   0      0   0      0      0   0      0   0      0      0      0
## 3      1   2      0   0      0      0   0      0   0      0      0      0
## 4      1   3      0   0      0      0   0      0   0      0      2      0
## 5      4   9      0   0      1      0   0      1   1      1      0      2
## 6      1   5      0   1      0      1   0      0   0      0      0      0
## 7      3  12      1   0      0      0   1      1   0      0      0      0
##   370 374.95 374.99 375 375.99 376 379 379.95 379.99 380 384.99 385 387
## 1   0      0      0   2      0   0   0      0      0   1      0   0   0
## 2   0      0      0   0      0   0   0      0      0   0      0   0   0
## 3   0      0      0   0      0   0   0      0      0   0      0   0   0
## 4   0      0      0   2      0   0   0      0      0   1      0   0   0
## 5   1      2      1   3      1   0   3      0      4   2      1   0   0
## 6   1      0      0   1      0   0   0      0      1   0      0   1   0
## 7   1      0      0   5      0   1   0      1      2   2      0   2   1
##   387.45 388.3 388.99 389 389.99 393 394.99 395 396 397.75 398.99 399
## 1      0     0      0   1      0   0      0   1   0      0      0   2
## 2      0     0      0   0      0   0      0   0   0      0      0   0
## 3      0     0      0   0      0   1      0   1   1      0      0   0
## 4      0     0      0   0      0   0      0   1   0      0      0   0
## 5      0     0      1   1      6   0      1   1   0      0      2   4
## 6      1     1      0   0      0   0      0   0   0      1      1   0
## 7      0     0      0   0      2   0      1   1   0      0      0   1
##   399.94 399.95 399.99 400 404.99 406 408 408.6 409.99 410 415 417 419
## 1      0      0      0   0      0   0   0     1      0   0   1   0   0
## 2      0      0      0   0      0   0   0     0      0   0   0   0   0
## 3      0      0      0   0      0   1   0     0      0   0   0   1   0
## 4      0      0      1   5      0   0   0     0      0   1   0   0   0
## 5      1      2      6  10      1   0   1     0      0   1   3   0   2
## 6      0      0      1   3      0   0   0     0      1   0   0   0   0
## 7      0      0      5   5      0   0   0     0      0   0   0   0   0
##   419.95 419.99 420 424.55 424.65 424.95 424.99 425 425.99 426.3 426.99
## 1      0      1   0      0      0      0      0   0      1     1      0
## 2      0      0   0      0      0      0      0   0      0     0      0
## 3      0      0   0      0      0      0      0   1      0     0      0
## 4      0      1   0      0      0      0      0   1      0     0      0
## 5      0      0   1      1      1      1      1   3      0     0      0
## 6      0      0   0      0      0      0      0   0      0     0      0
## 7      1      1   1      0      0      0      0   1      0     0      1
##   429 429.95 429.99 430 438 438.99 439 439.98 439.99 440 443.09 444.99 445
## 1   0      0      0   0   0      0   0      1      0   0      0      0   0
## 2   0      0      0   0   0      0   0      0      0   0      0      0   0
## 3   0      0      0   0   0      0   0      0      0   0      0      0   0
## 4   0      0      0   0   0      0   0      0      0   0      0      0   1
## 5   1      1      2   2   1      1   1      1      4   1      1      1   1
## 6   1      0      1   0   0      0   0      0      0   0      0      0   0
## 7   0      0      1   1   0      0   0      0      1   0      0      0   0
##   445.95 449 449.95 449.99 450 454 454.68 455 458 459 459.95 459.99 460
## 1      0   0      0      0   2   0      0   0   0   0      0      0   0
## 2      0   0      0      0   0   0      0   0   0   0      0      0   0
## 3      0   0      0      0   0   0      0   0   0   0      0      0   0
## 4      0   0      0      0   2   0      0   0   0   0      0      0   0
## 5      0   2      0      3   8   1      1   1   0   1      1      1   0
## 6      0   0      0      0   0   0      0   0   0   0      0      0   0
## 7      1   1      1      3   2   0      0   0   1   0      0      1   2
##   462.89 463.26 465.99 469 469.99 470 473.6 475 479.99 480 485 489.99 490
## 1      0      0      0   0      0   1     1   0      0   1   0      0   0
## 2      0      0      0   0      0   0     0   0      0   0   0      0   0
## 3      0      0      0   0      0   0     0   0      0   0   0      0   0
## 4      0      1      0   0      0   0     0   0      1   0   0      0   0
## 5      1      0      2   0      2   0     0   2      0   3   1      1   1
## 6      0      0      0   0      0   0     0   1      0   0   0      0   0
## 7      0      0      0   1      1   0     0   1      0   0   1      0   0
##   490.95 494.5 495.49 495.99 498.88 499 499.95 499.99 500 509 509.99 510
## 1      0     0      0      0      0   0      0      0   2   0      0   0
## 2      0     0      0      0      0   1      0      0   0   0      0   0
## 3      0     0      0      0      0   0      0      0   0   0      0   0
## 4      0     1      0      0      0   0      0      0   2   0      0   0
## 5      1     0      1      1      0   4      1      5   8   1      1   1
## 6      0     0      0      0      0   0      0      1   0   0      0   0
## 7      0     0      0      0      2   2      0      5   3   1      0   1
##   514.95 515 517.89 520 520.9 525 528 529 529.95 529.99 535 539.95 540
## 1      0   0      0   0     1   0   0   0      0      0   1      0   0
## 2      0   0      0   0     0   0   0   0      0      0   0      0   0
## 3      0   0      0   0     0   1   0   0      0      0   0      0   0
## 4      0   0      0   1     0   0   0   0      0      0   0      0   1
## 5      1   1      1   1     0   3   1   1      1      1   0      1   0
## 6      0   0      0   0     0   0   0   0      0      0   0      0   0
## 7      0   0      0   0     0   1   0   0      0      1   0      0   0
##   544.49 549 549.9 549.95 549.99 550 554.77 558.17 559 559.99 560 561.53
## 1      0   0     0      0      0   1      1      0   0      0   0      1
## 2      0   0     0      0      0   0      0      0   0      0   0      0
## 3      0   0     0      0      0   0      0      0   0      0   0      0
## 4      1   0     0      0      0   0      0      0   0      1   0      0
## 5      0   2     1      1      5  10      0      1   1      2   3      0
## 6      0   0     0      0      0   0      0      0   0      0   0      0
## 7      0   0     0      0      1   2      0      0   0      1   0      0
##   565.95 569 573.74 575 579.99 585.99 588.18 589 589.99 590 595 598.98 599
## 1      0   0      0   0      0      0      0   0      0   1   1      0   1
## 2      0   0      0   0      0      0      0   0      0   0   0      0   0
## 3      0   0      0   0      0      0      0   0      0   0   0      0   0
## 4      0   0      1   0      0      0      2   0      0   0   0      0   0
## 5      1   0      0   2      3      1      0   1      1   1   1      1   0
## 6      0   0      0   0      0      0      0   0      0   0   0      0   0
## 7      0   1      0   2      1      0      0   0      0   0   1      0   0
##   599.99 600 609.99 614.99 615.99 619 619.99 624.99 625 629 630 634.99 639
## 1      2   0      0      0      0   0      0      0   0   0   0      0   0
## 2      0   0      0      0      0   0      0      0   0   0   0      0   0
## 3      0   0      0      0      0   0      0      0   0   0   0      0   0
## 4      0   1      0      0      0   0      0      0   0   0   0      0   0
## 5      1   1      0      1      1   1      1      1   1   1   1      1   2
## 6      0   0      0      0      0   0      0      0   0   0   0      0   0
## 7      5   0      1      1      0   0      0      0   0   0   0      0   0
##   639.99 640 645 645.99 648 649.95 649.99 650 659.49 660 670 675 679.95
## 1      1   1   0      0   0      0      0   0      0   0   0   0      0
## 2      0   0   0      0   0      0      0   0      0   0   0   0      0
## 3      0   0   0      0   0      0      0   0      0   0   0   0      0
## 4      0   0   0      0   0      0      2   1      0   0   0   0      0
## 5      2   0   1      1   2      1      1   3      1   1   1   1      1
## 6      0   0   0      0   0      0      0   0      0   0   0   0      0
## 7      1   0   0      0   0      0      0   1      0   0   0   0      0
##   679.99 680 689.99 695 699 699.95 700 710 720.12 729.99 730 740 749
## 1      1   0      0   0   0      0   2   0      0      0   0   0   0
## 2      0   0      0   0   0      0   0   0      0      0   0   0   0
## 3      0   0      0   0   0      0   1   0      0      0   0   0   0
## 4      0   0      0   1   0      1   0   0      0      0   0   0   0
## 5      1   1      0   0   1      0   0   1      0      2   1   1   2
## 6      0   0      0   0   0      0   0   0      1      0   0   0   0
## 7      0   0      1   0   0      0   0   0      0      3   0   0   0
##   749.95 749.99 750 785 789 789.99 795 795.99 798 799 799.99 800 820
## 1      0      0   0   0   0      0   0      0   0   0      0   0   0
## 2      0      0   0   0   0      0   0      0   0   0      0   0   0
## 3      0      0   0   0   0      0   0      0   0   0      0   0   0
## 4      0      0   0   0   0      0   0      0   0   0      0   0   0
## 5      2      1   2   1   1      1   1      1   1   1      0   2   1
## 6      0      0   0   0   0      0   0      0   0   0      0   0   0
## 7      0      0   0   0   0      0   0      0   0   0      1   0   0
##   829.99 879.99 899.99 900 939 948.98 999 999.99 .entropy .knt
## 1      0      0      0   0   0      0   0      0 4.811470  285
## 2      0      0      0   0   0      0   0      0 4.359548  314
## 3      0      0      0   0   0      0   0      0 4.700760  442
## 4      0      0      0   0   0      0   0      0 4.798635  434
## 5      1      1      1   1   1      0   0      0 5.114880  490
## 6      0      0      0   0   0      0   1      1 4.663055  393
## 7      0      0      0   0   0      1   0      0 4.703751  299
## [1] "Category: Unknown"
## [1] "max distance(1.0000) pair:"
##     UniqueID startprice prdline.my
## 5      10005     199.99    Unknown
## 130    10130     100.00    Unknown
##                                                                                                descr.my
## 5   Please feel free to buy. All product have been thoroughly inspected, cleaned and tested to be 100% 
## 130                                                                   New - Open Box. Charger included.
##     D.T.condit D.T.use D.T.scratch   D.T.new D.T.good D.T.ipad D.T.screen
## 5            0       0           0 0.0000000        0        0          0
## 130          0       0           0 0.8180361        0        0          0
##     D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 5           0        0         0        0        0       0
## 130         0        0         0        0        0       0
## [1] "min distance(-0.0000) pair:"
##      UniqueID startprice prdline.my
## 1029    11029        108    Unknown
## 1077    11077        108    Unknown
##                                                                                                descr.my
## 1029 A device listed in near mint used cosmetic condition with light blemishes from use. Housing &amp; 
## 1077 A device listed in near mint used cosmetic condition with light blemishes from use. Housing &amp; 
##      D.T.condit   D.T.use D.T.scratch D.T.new D.T.good D.T.ipad D.T.screen
## 1029   0.220126 0.5801286           0       0        0        0          0
## 1077   0.220126 0.5801286           0       0        0        0          0
##      D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 1029         0        0         0        0        0       0
## 1077         0        0         0        0        0       0

## [1] "Category: iPad 1"
## [1] "max distance(1.0000) pair:"
##    UniqueID startprice prdline.my
## 9     10009       0.99     iPad 1
## 13    10013      20.00     iPad 1
##                                                                                            descr.my
## 9                                                                                                  
## 13 GOOD CONDITION. CLEAN ICLOUD. NO LOCKS. CLEAN IMEI. This tablet has been fully tested and works 
##    D.T.condit D.T.use D.T.scratch D.T.new  D.T.good D.T.ipad D.T.screen
## 9    0.000000       0           0       0 0.0000000        0          0
## 13   0.220126       0           0       0 0.3412301        0          0
##    D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 9          0 0.000000         0        0        0       0
## 13         0 0.340566         0        0        0       0
## [1] "min distance(-0.0000) pair:"
##      UniqueID startprice prdline.my
## 471     10471        110     iPad 1
## 1202    11202        119     iPad 1
##                                                                                                     descr.my
## 471  Used Apple Ipad 64 gig 1st generation in Great working condition and 100% functional SIM card AT&amp;T 
## 1202 Used Apple Ipad 64 gig 1st generation in Great working condition and 100% functional SIM card AT&amp;T 
##      D.T.condit  D.T.use D.T.scratch D.T.new D.T.good  D.T.ipad D.T.screen
## 471   0.1862605 0.245439           0       0        0 0.2705847          0
## 1202  0.1862605 0.245439           0       0        0 0.2705847          0
##      D.T.great  D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 471  0.3392152 0.2881712         0        0        0       0
## 1202 0.3392152 0.2881712         0        0        0       0

## [1] "Category: iPad 2"
## [1] "max distance(1.0000) pair:"
##   UniqueID startprice prdline.my
## 1    10001     159.99     iPad 2
## 2    10002       0.99     iPad 2
##                                                                                               descr.my
## 1                                                        iPad is in 8.5+ out of 10 cosmetic condition!
## 2 Previously used, please read description. May show signs of use such as scratches to the screen and 
##   D.T.condit   D.T.use D.T.scratch D.T.new D.T.good D.T.ipad D.T.screen
## 1  0.8071287 0.0000000   0.0000000       0        0 1.172534  0.0000000
## 2  0.0000000 0.5801286   0.2923374       0        0 0.000000  0.3309884
##   D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 1         0        0         0        0        0       0
## 2         0        0         0        0        0       0
## [1] "min distance(-0.0000) pair:"
##      UniqueID startprice prdline.my
## 132     10132     119.99     iPad 2
## 2382    12384     189.95     iPad 2
##                                                                                                      descr.my
## 132      Overall good condition. Some wear from use. Scratches/ scuffs/ nicks/ scrapes on unit housing back, 
## 2382 Device is in GOOD used cosmetic condition with normal scratches &amp; wear, engravement on the housing. 
##      D.T.condit   D.T.use D.T.scratch D.T.new  D.T.good D.T.ipad
## 132   0.2017822 0.2658923   0.2679759       0 0.3127942        0
## 2382  0.2421386 0.3190707   0.3215711       0 0.3753531        0
##      D.T.screen D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 132           0         0        0         0        0        0       0
## 2382          0         0        0         0        0        0       0

## [1] "Category: iPad 3+"
## [1] "max distance(1.0000) pair:"
##    UniqueID startprice prdline.my
## 3     10003     199.99    iPad 3+
## 11    10011     199.99    iPad 3+
##                                                                                        descr.my
## 3                                                                                              
## 11 good condition, minor wear and tear on body some light scratches on screen. functions great.
##    D.T.condit D.T.use D.T.scratch D.T.new  D.T.good D.T.ipad D.T.screen
## 3    0.000000       0   0.0000000       0 0.0000000        0  0.0000000
## 11   0.220126       0   0.2923374       0 0.3412301        0  0.3309884
##    D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 3  0.0000000        0         0        0        0       0
## 11 0.4008907        0         0        0        0       0
## [1] "min distance(-0.0000) pair:"
##      UniqueID startprice prdline.my
## 40      10040     159.99    iPad 3+
## 1602    11603       0.99    iPad 3+
##                                                                                                   descr.my
## 40   Item has been professionally tested and inspected. Tests show that all features work correctly. This 
## 1602                                                                                 Work fine iCloud lock
##      D.T.condit D.T.use D.T.scratch D.T.new D.T.good D.T.ipad D.T.screen
## 40            0       0           0       0        0        0          0
## 1602          0       0           0       0        0        0          0
##      D.T.great  D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 40           0 0.4162473         0        0        0       0
## 1602         0 0.9365565         0        0        0       0

## [1] "Category: iPadAir"
## [1] "max distance(1.0000) pair:"
##    UniqueID startprice prdline.my
## 16    10016     344.95    iPadAir
## 33    10033     299.98    iPadAir
##                                                                                                descr.my
## 16                                                                                                     
## 33 We are selling good quality iPads that have been fully tested by an Apple Certified Technician. The 
##    D.T.condit D.T.use D.T.scratch D.T.new D.T.good  D.T.ipad D.T.screen
## 16          0       0           0       0 0.000000 0.0000000          0
## 33          0       0           0       0 0.417059 0.3908446          0
##    D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 16         0        0         0        0        0       0
## 33         0        0         0        0        0       0
## [1] "min distance(-0.0000) pair:"
##      UniqueID startprice prdline.my
## 44      10044     499.95    iPadAir
## 1233    11233     199.99    iPadAir
##                                                                               descr.my
## 44   Open Box Units Grade A Condition. Units may contain minor cosmetic imperfections.
## 1233                                                                   MINT CONDITION!
##      D.T.condit D.T.use D.T.scratch D.T.new D.T.good D.T.ipad D.T.screen
## 44     0.220126       0           0       0        0        0          0
## 1233   1.210693       0           0       0        0        0          0
##      D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 44           0        0         0        0        0       0
## 1233         0        0         0        0        0       0

## [1] "Category: iPadmini"
## [1] "max distance(1.0000) pair:"
##    UniqueID startprice prdline.my
## 7     10007        100   iPadmini
## 76    10076        130   iPadmini
##                                                                                         descr.my
## 7                                                                                               
## 76 Works perfectly, NOT iCloud locked, 1 owner. It is in not in very good  condition, but works 
##    D.T.condit D.T.use D.T.scratch D.T.new  D.T.good D.T.ipad D.T.screen
## 7   0.0000000       0           0       0 0.0000000        0          0
## 76  0.3026733       0           0       0 0.4691913        0          0
##    D.T.great  D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 7          0 0.0000000         0        0        0       0
## 76         0 0.9365565         0        0        0       0
## [1] "min distance(-0.0000) pair:"
##      UniqueID startprice prdline.my
## 491     10491          5   iPadmini
## 1753    11754         79   iPadmini
##                                                                                               descr.my
## 491                      Cracked screen, flaw is shown in picture, everything is fully functional and 
## 1753 Shows Apple ID locked, password required on activation screen.  Unknown imei and storage space.  
##      D.T.condit D.T.use D.T.scratch D.T.new D.T.good D.T.ipad D.T.screen
## 491           0       0           0       0        0        0  0.4551091
## 1753          0       0           0       0        0        0  0.4045414
##      D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 491          0        0         0        0        0       0
## 1753         0        0         0        0        0       0

## [1] "Category: iPadmini 2+"
## [1] "max distance(1.0000) pair:"
##    UniqueID startprice  prdline.my
## 4     10004     235.00 iPadmini 2+
## 18    10018     209.98 iPadmini 2+
##                                                                                                descr.my
## 4                                                                                                      
## 18 We are selling good quality iPads that have been fully tested by an Apple Certified Technician. The 
##    D.T.condit D.T.use D.T.scratch D.T.new D.T.good  D.T.ipad D.T.screen
## 4           0       0           0       0 0.000000 0.0000000          0
## 18          0       0           0       0 0.417059 0.3908446          0
##    D.T.great D.T.work D.T.excel D.P.http D.P.mini D.P.air
## 4          0        0         0        0        0       0
## 18         0        0         0        0        0       0
## [1] "min distance(0.0000) pair:"
##   UniqueID startprice  prdline.my descr.my D.T.condit D.T.use D.T.scratch
## 4    10004        235 iPadmini 2+                   0       0           0
## 6    10006        175 iPadmini 2+                   0       0           0
##   D.T.new D.T.good D.T.ipad D.T.screen D.T.great D.T.work D.T.excel
## 4       0        0        0          0         0        0         0
## 6       0        0        0          0         0        0         0
##   D.P.http D.P.mini D.P.air
## 4        0        0       0
## 6        0        0       0

## [1] "glb_allobs_df$prdline.my$.clusterid Entropy: NA (NA pct)"
##    prdline.my.clusterid 0.01 0.1 0.45 0.5 0.98 0.99  1 1.99 2.99 3.99 4.69
## 1             Unknown_1   NA  NA   NA  NA   NA   19  1   NA    1    1    1
## 2             Unknown_2    1  NA   NA  NA   NA    3 NA   NA   NA   NA   NA
## 3             Unknown_3   NA  NA   NA  NA   NA    3 NA   NA   NA   NA   NA
## 4              iPad 1_1    2  NA   NA  NA   NA   17  6   NA   NA   NA   NA
## 5              iPad 1_2   NA  NA   NA  NA   NA    2 NA   NA   NA   NA   NA
## 6              iPad 1_3    1  NA   NA  NA   NA    3 NA   NA   NA   NA   NA
## 7              iPad 1_4   NA  NA   NA  NA   NA    4 NA   NA   NA   NA   NA
## 8              iPad 2_1    4   2   NA  NA   NA   28  4   NA   NA   NA   NA
## 9              iPad 2_2    3  NA   NA  NA   NA    6 NA   NA   NA   NA   NA
## 10             iPad 2_3   NA  NA   NA  NA   NA    1 NA   NA   NA   NA   NA
## 11             iPad 2_4    2  NA   NA  NA   NA    3 NA   NA   NA   NA   NA
## 12             iPad 2_5    1  NA   NA  NA   NA   NA NA   NA   NA   NA   NA
## 13            iPad 3+_1    3  NA   NA   1   NA   18  3   NA   NA   NA   NA
## 14            iPad 3+_2    1  NA   NA  NA   NA    2  1   NA   NA   NA   NA
## 15            iPad 3+_3    1  NA   NA  NA   NA    4 NA   NA   NA   NA   NA
## 16            iPad 3+_4    1  NA   NA  NA   NA    3 NA   NA   NA   NA   NA
## 17            iPadAir_1    1  NA   NA  NA   NA   19  5   NA   NA   NA   NA
## 18            iPadAir_2   NA  NA   NA  NA   NA    6  4    1   NA   NA   NA
## 19            iPadAir_3   NA  NA   NA  NA   NA    4 NA   NA   NA   NA   NA
## 20            iPadAir_4   NA  NA   NA  NA   NA    2 NA   NA   NA   NA   NA
## 21        iPadmini 2+_1    2  NA    1  NA   NA   12  1   NA   NA   NA   NA
## 22        iPadmini 2+_2   NA  NA   NA  NA   NA    3 NA   NA   NA   NA   NA
## 23        iPadmini 2+_3    1  NA   NA  NA   NA    5  1   NA   NA   NA   NA
## 24           iPadmini_1    2  NA   NA  NA   NA   23  3   NA   NA   NA   NA
## 25           iPadmini_2   NA  NA   NA  NA    1    4 NA   NA   NA   NA   NA
## 26           iPadmini_3   NA  NA   NA  NA   NA    2  1   NA   NA   NA   NA
## 27           iPadmini_4   NA  NA   NA  NA   NA    4 NA   NA   NA   NA   NA
## 28           iPadmini_5    1  NA   NA  NA   NA    1  1   NA   NA   NA   NA
##    4.99  5 5.65 7.99  8 8.99  9 9.5 9.95 9.99 10 10.99 14 14.49 14.99 15
## 1     1  2    1    1 NA    1 NA  NA    1    1  1    NA  1     1     1  3
## 2    NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 3    NA NA   NA   NA NA   NA NA  NA   NA    1 NA    NA NA    NA    NA NA
## 4    NA NA   NA   NA NA   NA NA   1    1   NA  1    NA NA    NA     2  2
## 5    NA NA   NA   NA NA   NA NA  NA   NA    2  1    NA NA    NA    NA NA
## 6    NA NA   NA   NA NA   NA NA   1   NA   NA NA    NA NA    NA    NA NA
## 7    NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 8    NA  1   NA   NA NA   NA NA  NA   NA    2 NA    NA NA    NA    NA  2
## 9    NA NA   NA   NA NA   NA NA  NA   NA    5 NA    NA NA    NA    NA NA
## 10   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 11   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 12   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 13   NA  1   NA    1 NA   NA NA  NA   NA    3  4    NA NA    NA    NA NA
## 14   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 15   NA NA   NA    1  1   NA NA  NA   NA    1 NA    NA NA    NA    NA NA
## 16   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 17   NA NA   NA   NA NA   NA  1  NA   NA   NA NA    NA NA    NA    NA NA
## 18   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 19   NA NA   NA   NA NA   NA NA  NA   NA   NA  1    NA NA    NA    NA NA
## 20   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 21   NA NA   NA   NA NA   NA NA  NA    1   NA  1    NA NA    NA    NA NA
## 22   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 23   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
## 24   NA  1   NA   NA NA   NA NA  NA   NA    1 NA    NA NA    NA    NA NA
## 25   NA  1   NA   NA NA   NA NA  NA   NA   NA  1     1 NA    NA    NA NA
## 26   NA NA   NA   NA NA   NA NA  NA   NA   NA  1    NA NA    NA    NA NA
## 27   NA NA   NA   NA NA   NA NA  NA   NA    1 NA    NA NA    NA    NA NA
## 28   NA NA   NA   NA NA   NA NA  NA   NA   NA NA    NA NA    NA    NA NA
##    17.75 19.5 19.95 19.99 20 24.99 25 28 28.75 29.95 29.99 30 30.99 32.95
## 1      1   NA    NA     1 NA    NA  4  1     1    NA    NA  1    NA     1
## 2     NA   NA    NA    NA  1     1 NA NA    NA    NA    NA NA     1    NA
## 3     NA   NA    NA    NA  1    NA NA NA    NA    NA    NA NA    NA    NA
## 4     NA   NA     1     3  1    NA  2 NA    NA     1     5  3    NA    NA
## 5     NA   NA    NA    NA  1    NA NA NA    NA    NA    NA NA    NA    NA
## 6     NA   NA    NA    NA NA    NA  1 NA    NA    NA    NA NA    NA    NA
## 7     NA   NA    NA    NA  1    NA NA NA    NA    NA    NA NA    NA    NA
## 8     NA   NA     1    NA  1    NA  1 NA    NA     1     1  2    NA    NA
## 9     NA   NA    NA     1 NA    NA NA NA    NA    NA    NA  1    NA    NA
## 10    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 11    NA   NA     1    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 12    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 13    NA   NA    NA    NA  1    NA  1 NA    NA    NA    NA NA    NA    NA
## 14    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 15    NA   NA    NA    NA NA    NA  1 NA    NA    NA    NA NA    NA    NA
## 16    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 17    NA   NA    NA    NA  1     1  1 NA    NA    NA    NA NA    NA    NA
## 18    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 19    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 20    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 21    NA   NA    NA    NA NA    NA  2 NA    NA    NA    NA NA    NA    NA
## 22    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 23    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 24    NA    1    NA     1  1    NA  2 NA    NA    NA     1  2    NA    NA
## 25    NA   NA    NA    NA  2    NA  1 NA    NA    NA    NA NA    NA    NA
## 26    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 27    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
## 28    NA   NA    NA    NA NA    NA NA NA    NA    NA    NA NA    NA    NA
##    33 35 36.95 37.98 38.99 39 39.99 40 41 42 43.2 44.99 45 48 48.99 49
## 1  NA  1    NA     1    NA NA     2  2  1 NA    1    NA NA NA    NA NA
## 2  NA NA    NA    NA    NA NA    NA NA NA NA   NA     1  1 NA    NA NA
## 3  NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 4   1  1     3    NA    NA NA    NA  3 NA  1   NA    NA  1  1    NA NA
## 5  NA NA    NA    NA    NA NA     1  1 NA NA   NA    NA  1 NA    NA NA
## 6  NA NA    NA    NA    NA NA    NA  1 NA NA   NA    NA NA NA     1 NA
## 7  NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 8  NA NA    NA    NA    NA NA    NA  4 NA NA   NA    NA  1 NA    NA  1
## 9  NA NA    NA    NA    NA NA     1 NA NA NA   NA    NA NA NA    NA NA
## 10 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 11 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 12 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 13 NA  1    NA    NA    NA  1    NA NA NA NA   NA    NA NA NA    NA NA
## 14 NA NA    NA    NA     1 NA    NA NA NA NA   NA    NA  1 NA    NA NA
## 15 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 16 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 17 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA  1
## 18 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 19 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 20 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 21 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 22 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 23 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 24 NA NA    NA    NA    NA NA    NA  1 NA  1   NA    NA  3 NA    NA NA
## 25 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 26 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 27 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
## 28 NA NA    NA    NA    NA NA    NA NA NA NA   NA    NA NA NA    NA NA
##    49.49 49.95 49.99 50 51.99 52.25 52.99 54.99 55 55.66 56 57.5 58 59
## 1     NA    NA    NA  3     1     1    NA    NA NA    NA NA    1  1 NA
## 2     NA    NA    NA  3    NA    NA    NA    NA NA    NA NA   NA NA NA
## 3     NA     1     1  1    NA    NA    NA    NA NA    NA NA   NA NA NA
## 4      1    NA     1 19    NA    NA     1     1  4    NA NA   NA  2 NA
## 5     NA    NA    NA  1    NA    NA    NA    NA NA     1  1   NA NA NA
## 6     NA    NA     2  2    NA    NA    NA    NA  1    NA NA   NA NA NA
## 7     NA    NA     1 NA    NA    NA    NA    NA NA    NA NA   NA NA  1
## 8     NA    NA     2  3    NA    NA    NA    NA NA    NA NA   NA NA NA
## 9     NA    NA     2  2    NA    NA    NA    NA NA    NA NA   NA NA NA
## 10    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 11    NA    NA    NA  1    NA    NA    NA    NA NA    NA NA   NA NA NA
## 12    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 13    NA    NA     2  2    NA    NA    NA    NA NA    NA NA   NA NA NA
## 14    NA    NA    NA  1    NA    NA    NA    NA NA    NA NA   NA NA NA
## 15    NA    NA    NA  1    NA    NA    NA    NA NA    NA NA   NA NA NA
## 16    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 17    NA    NA     1  4    NA    NA    NA    NA NA    NA NA   NA NA NA
## 18    NA    NA     1 NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 19    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA  1
## 20    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 21    NA    NA     1 NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 22    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 23    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 24    NA    NA    NA  6    NA    NA    NA    NA NA    NA NA   NA NA NA
## 25    NA    NA    NA  2    NA    NA    NA    NA NA    NA NA   NA NA NA
## 26    NA     1    NA  2    NA    NA    NA    NA NA    NA NA   NA NA NA
## 27    NA    NA     1 NA    NA    NA    NA    NA NA    NA NA   NA NA NA
## 28    NA    NA    NA NA    NA    NA    NA    NA NA    NA NA   NA NA NA
##    59.95 59.99 60 62 63 64.99 65 66.99 69 69.5 69.69 69.95 69.99 70 70.99
## 1      1     1 NA NA  1    NA NA    NA  1   NA    NA    NA    NA  1    NA
## 2     NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA  1     1
## 3     NA    NA NA NA NA    NA  1    NA NA   NA    NA    NA    NA NA    NA
## 4     NA     1 NA  2 NA    NA  2    NA NA   NA    NA    NA     2  6    NA
## 5     NA    NA  1 NA NA    NA  1    NA  1   NA    NA    NA    NA NA    NA
## 6     NA    NA NA NA NA     1 NA    NA  1   NA    NA    NA    NA  1    NA
## 7     NA    NA  1 NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 8     NA     2 NA NA NA    NA  1    NA NA   NA    NA     1     1  3    NA
## 9     NA    NA  1 NA NA    NA  1     1 NA    1    NA    NA     1 NA    NA
## 10    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 11    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 12    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 13    NA    NA NA NA NA    NA  1    NA NA   NA     1    NA    NA NA    NA
## 14    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 15    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 16    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 17    NA    NA  1 NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 18    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 19    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 20    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 21    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 22    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 23    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 24    NA     1  3  1 NA    NA NA    NA NA   NA    NA    NA    NA  1    NA
## 25    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA  1    NA
## 26    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 27    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
## 28    NA    NA NA NA NA    NA NA    NA NA   NA    NA    NA    NA NA    NA
##    71 71.99 72 74 74.5 74.95 74.99 75 76 78 79 79.94 79.95 79.97 79.99 80
## 1  NA    NA NA NA   NA    NA    NA  2 NA NA NA    NA     2    NA    NA  1
## 2  NA    NA NA NA   NA    NA    NA  1 NA NA NA    NA    NA    NA    NA NA
## 3  NA    NA NA NA   NA    NA    NA NA  1 NA NA    NA    NA    NA    NA  1
## 4  NA    NA  1 NA   NA    NA     1  9 NA NA  3    NA    NA    NA    NA  7
## 5  NA    NA NA  1    1    NA    NA NA NA NA  1    NA    NA    NA     2  3
## 6  NA    NA NA NA   NA    NA    NA  1 NA NA NA     1    NA    NA    NA  2
## 7  NA    NA NA NA   NA    NA    NA NA NA  1 NA    NA    NA    NA     3 NA
## 8  NA     1  1  1   NA    NA     1  6 NA NA  1    NA    NA     1    NA  5
## 9  NA    NA NA NA   NA    NA     1  1 NA NA NA    NA    NA    NA    NA NA
## 10 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 11 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 12 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 13  1    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA  2
## 14 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA  1
## 15 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA     1 NA
## 16 NA    NA NA NA   NA    NA    NA  1 NA NA NA    NA    NA    NA    NA NA
## 17 NA    NA NA NA   NA    NA    NA  2 NA NA NA    NA    NA    NA    NA  1
## 18 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 19 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 20 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 21 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA     1    NA    NA NA
## 22 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 23 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 24 NA    NA NA NA   NA     1    NA  3 NA NA NA    NA    NA    NA     1 NA
## 25 NA    NA NA NA   NA    NA    NA  1 NA NA  1    NA    NA    NA    NA NA
## 26 NA    NA NA NA   NA    NA    NA NA NA NA NA    NA    NA    NA    NA NA
## 27 NA    NA NA NA   NA    NA    NA  1 NA NA NA    NA    NA    NA    NA NA
## 28 NA    NA NA NA   NA    NA     1  1 NA NA NA    NA    NA    NA    NA NA
##    82.95 82.98 84.99 85 85.95 87 89 89.5 89.95 89.99 90 91 92 92.14 92.49
## 1     NA    NA    NA NA    NA  1 NA   NA    NA    NA NA  1 NA    NA    NA
## 2     NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 3     NA    NA    NA NA    NA NA  1   NA    NA    NA  1 NA NA    NA    NA
## 4      1     1     3  1     1 NA  2   NA    NA    NA  7 NA NA     2    NA
## 5     NA    NA    NA  2    NA NA  1   NA    NA    NA  1  1  1    NA    NA
## 6     NA    NA    NA NA    NA NA NA   NA     1    NA  1 NA NA    NA    NA
## 7     NA    NA    NA NA    NA NA NA    1     1    NA  2 NA NA    NA    NA
## 8     NA    NA    NA  2    NA NA  1   NA     1     1  3 NA NA    NA     1
## 9     NA    NA    NA  1    NA NA  1   NA    NA     2 NA NA  1    NA    NA
## 10    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 11    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 12    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 13    NA    NA    NA NA    NA NA NA   NA    NA     1 NA NA NA    NA    NA
## 14    NA    NA    NA NA    NA NA NA   NA    NA     1 NA NA NA    NA    NA
## 15    NA    NA    NA  1    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 16    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 17    NA    NA    NA NA    NA NA NA   NA    NA     1  2 NA NA    NA    NA
## 18    NA    NA    NA NA    NA NA NA   NA    NA     1  1 NA NA    NA    NA
## 19    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 20    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 21    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 22    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 23    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 24    NA    NA     1  1    NA NA  1   NA    NA     5  2 NA NA    NA    NA
## 25    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 26    NA    NA    NA  1    NA NA NA   NA    NA     1 NA NA NA    NA    NA
## 27    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
## 28    NA    NA    NA NA    NA NA NA   NA    NA    NA NA NA NA    NA    NA
##    93 94.99 95 96 97.5 98 99 99.46 99.75 99.94 99.95 99.97 99.98 99.99 100
## 1  NA    NA NA NA   NA NA  1     1    NA    NA    NA    NA    NA    NA   5
## 2  NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA     2   3
## 3  NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA    NA   1
## 4  NA     1  4 NA   NA  1  1    NA    NA    NA    NA    NA    NA     3   9
## 5  NA    NA  2  1   NA NA  3    NA    NA     1    NA    NA    NA    NA   1
## 6  NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA    NA  NA
## 7   1    NA  2 NA   NA NA NA    NA    NA    NA    NA    NA    NA    NA  NA
## 8  NA    NA  1  1   NA NA  6    NA    NA    NA    NA    NA    NA     7   9
## 9  NA    NA  1 NA    1 NA  1    NA    NA    NA    NA    NA    NA     1   1
## 10 NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA    NA  NA
## 11 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA    NA  NA
## 12 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA     1   3
## 13 NA    NA  1 NA   NA NA  4    NA     1    NA     3    NA     2     4   6
## 14 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA     2   1
## 15 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA     1   1
## 16 NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA    NA   2
## 17 NA    NA NA NA   NA NA  1    NA    NA    NA     1    NA    NA     2   2
## 18 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA     2   3
## 19 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA    NA  NA
## 20 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA    NA   1
## 21 NA    NA NA NA   NA NA  5    NA    NA    NA    NA    NA    NA     1   3
## 22 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA    NA   1
## 23 NA    NA NA NA   NA NA NA    NA    NA    NA    NA     1    NA     1  NA
## 24 NA    NA NA NA   NA NA  5    NA    NA    NA     2    NA    NA     5   8
## 25 NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA     4  NA
## 26 NA    NA NA NA   NA NA  1    NA    NA    NA    NA    NA    NA    NA   3
## 27 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA     1   3
## 28 NA    NA NA NA   NA NA NA    NA    NA    NA    NA    NA    NA     1   1
##    101 102 104 104.7 104.99 105 106.95 107 108 109 109.98 109.99 110 111
## 1   NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA      1  NA  NA
## 2   NA  NA  NA    NA     NA  NA     NA  NA   2  NA     NA     NA   1  NA
## 3   NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 4   NA  NA  NA     1     NA   1     NA  NA  NA  NA      1     NA   1  NA
## 5    2  NA  NA    NA      1  NA     NA  NA  NA  NA     NA     NA   1  NA
## 6   NA  NA  NA    NA     NA   3     NA  NA  NA   1     NA     NA   2  NA
## 7   NA   1  NA    NA      1  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 8   NA  NA   1    NA     NA  NA     NA  NA  NA  NA     NA      1  NA   1
## 9   NA  NA  NA    NA     NA  NA      1  NA  NA  NA     NA     NA   1  NA
## 10  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 11  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 12  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 13  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 14  NA  NA  NA    NA     NA   1     NA   1  NA  NA     NA     NA  NA  NA
## 15  NA  NA  NA    NA     NA  NA     NA   1  NA  NA     NA     NA  NA  NA
## 16  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 17  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 18  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 19  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 20  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 21  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 22  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 23  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 24  NA  NA  NA    NA     NA  NA     NA  NA  NA   1     NA      1   1  NA
## 25  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 26  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 27  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
## 28  NA  NA  NA    NA     NA  NA     NA  NA  NA  NA     NA     NA  NA  NA
##    111.5 112 112.99 113 114.48 114.94 114.99 115 116.33 118 118.84 118.95
## 1     NA  NA     NA  NA      1     NA     NA  NA      1  NA      1      1
## 2     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 3     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 4     NA  NA     NA  NA     NA      1     NA   1     NA  NA     NA     NA
## 5     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 6     NA  NA      1  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 7     NA  NA     NA  NA     NA     NA     NA   1     NA  NA     NA     NA
## 8     NA   1     NA  NA     NA     NA     NA   1     NA  NA     NA     NA
## 9      1  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 10    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 11    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 12    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 13    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 14    NA  NA     NA  NA     NA     NA     NA   1     NA  NA     NA     NA
## 15    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 16    NA  NA     NA  NA     NA     NA     NA   1     NA  NA     NA     NA
## 17    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 18    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 19    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 20    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 21    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 22    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 23    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 24    NA  NA     NA   1     NA     NA      1   2     NA   1     NA     NA
## 25    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 26    NA   1     NA  NA     NA     NA      1  NA     NA  NA     NA     NA
## 27    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
## 28    NA  NA     NA  NA     NA     NA     NA  NA     NA  NA     NA     NA
##    119 119.88 119.95 119.98 119.99 120 120.02 121 124 124.95 124.99 125
## 1   NA     NA     NA     NA      1   2     NA  NA  NA     NA     NA   1
## 2   NA     NA     NA     NA     NA   1     NA  NA  NA     NA      1  NA
## 3   NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 4   NA     NA     NA     NA      1   1      1  NA  NA      2      1   1
## 5   NA     NA     NA     NA      1  NA     NA  NA  NA     NA     NA   1
## 6    1     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 7   NA     NA     NA     NA      1  NA     NA  NA  NA     NA     NA  NA
## 8   NA     NA     NA     NA      1   3     NA   1   1     NA     NA   5
## 9   NA     NA      1     NA     NA  NA     NA  NA  NA     NA     NA   3
## 10  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 11  NA     NA     NA     NA      1  NA     NA  NA  NA     NA     NA  NA
## 12  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 13  NA      1     NA     NA     NA   1     NA  NA  NA     NA     NA   4
## 14  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 15  NA     NA     NA     NA      1  NA     NA  NA  NA     NA     NA  NA
## 16  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 17  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 18  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 19  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 20  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 21   1     NA     NA     NA     NA   3     NA  NA  NA     NA     NA  NA
## 22  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 23  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 24  NA     NA     NA     NA      4  NA     NA  NA  NA     NA     NA   3
## 25  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 26  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 27  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 28  NA     NA     NA      1     NA  NA     NA  NA  NA     NA     NA  NA
##    127.95 127.99 128 129 129.95 129.99 130 134.34 134.61 134.95 135 137.95
## 1       1     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA      1
## 2      NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 3      NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 4      NA     NA  NA  NA     NA      1  NA     NA     NA     NA  NA     NA
## 5      NA     NA  NA  NA     NA      1  NA     NA     NA     NA  NA     NA
## 6      NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 7      NA     NA  NA  NA      1     NA   1     NA     NA     NA  NA     NA
## 8      NA      1   1  NA     NA      2   3     NA     NA     NA   2     NA
## 9      NA     NA  NA  NA      2     NA   1      1     NA      1  NA     NA
## 10     NA     NA  NA  NA     NA      1  NA     NA     NA     NA  NA     NA
## 11     NA     NA   1  NA      1     NA  NA     NA     NA     NA  NA     NA
## 12     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 13     NA     NA  NA   1     NA     NA  NA     NA      1     NA  NA     NA
## 14     NA     NA   3  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 15     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 16     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 17     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 18     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 19     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 20     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 21     NA     NA  NA  NA     NA     NA   1     NA     NA     NA  NA     NA
## 22     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 23     NA     NA  NA  NA     NA      1  NA     NA     NA     NA  NA     NA
## 24     NA     NA  NA   1     NA      1   1     NA     NA     NA   1     NA
## 25     NA     NA  NA  NA      1     NA   1     NA     NA     NA  NA     NA
## 26     NA     NA  NA  NA     NA     NA   2     NA     NA     NA  NA     NA
## 27     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 28     NA     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
##    139 139.5 139.98 139.99 140 141.09 142.25 142.49 144.5 144.95 144.99
## 1   NA    NA     NA      1  NA     NA     NA     NA    NA     NA     NA
## 2    1    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 3   NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 4   NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 5   NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 6   NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 7   NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 8    2     1     NA     NA   2     NA     NA      1    NA     NA      1
## 9    1    NA     NA     NA   1     NA      1     NA    NA     NA     NA
## 10  NA    NA      1     NA  NA      1     NA     NA    NA     NA      1
## 11  NA    NA     NA     NA   1     NA     NA     NA    NA     NA     NA
## 12  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 13  NA    NA     NA      1   2     NA     NA     NA    NA     NA     NA
## 14  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 15  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 16  NA    NA     NA     NA  NA     NA     NA     NA     1     NA     NA
## 17   1    NA     NA     NA  NA     NA     NA     NA    NA      1     NA
## 18  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 19  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 20  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 21  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 22  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 23  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 24   1    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 25  NA    NA     NA      2  NA     NA     NA     NA    NA     NA      1
## 26  NA    NA     NA     NA   1     NA     NA     NA    NA     NA     NA
## 27  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
## 28  NA    NA     NA     NA  NA     NA     NA     NA    NA     NA     NA
##    145 145.49 146.99 147.59 147.72 149 149.59 149.95 149.97 149.98 149.99
## 1    1     NA     NA     NA     NA  NA     NA     NA     NA      1      1
## 2   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA      2
## 3   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA      1
## 4    1     NA     NA     NA     NA   1     NA      1     NA     NA      1
## 5   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
## 6   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
## 7   NA     NA     NA     NA     NA  NA     NA     NA     NA      1     NA
## 8   NA     NA     NA     NA     NA   1     NA      2      1     NA      2
## 9    2     NA      1     NA     NA   1     NA     NA     NA     NA      2
## 10  NA     NA     NA     NA      1  NA     NA     NA      1     NA      3
## 11  NA      1     NA      1     NA   1     NA     NA     NA     NA      2
## 12  NA     NA     NA     NA     NA  NA     NA      1     NA     NA     NA
## 13  NA     NA     NA     NA     NA  NA     NA     NA     NA      1      2
## 14  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
## 15  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA      1
## 16  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA      1
## 17  NA     NA     NA     NA     NA   1     NA     NA     NA     NA     NA
## 18  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA      1
## 19  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
## 20  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA      1
## 21  NA     NA     NA     NA     NA   2     NA      1     NA     NA     NA
## 22  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
## 23   1     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
## 24   1     NA     NA     NA     NA   2      1     NA     NA     NA      1
## 25  NA     NA     NA     NA     NA   1     NA     NA     NA     NA     NA
## 26  NA     NA     NA     NA     NA  NA     NA      1     NA     NA     NA
## 27  NA     NA     NA     NA     NA   1     NA     NA     NA     NA      2
## 28  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA     NA
##    150 150.87 150.99 152 153.95 153.99 154 154.99 155 155.99 157 158.99
## 1    7      1     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 2    2     NA     NA  NA     NA     NA  NA      1   1     NA  NA     NA
## 3    1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 4    2     NA     NA  NA     NA     NA  NA     NA   1     NA  NA     NA
## 5   NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 6    1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 7   NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 8   13     NA      1   1     NA     NA  NA     NA   2     NA   1     NA
## 9    2     NA      1  NA     NA      1   2     NA   1     NA  NA     NA
## 10   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 11  NA     NA     NA  NA     NA     NA   1     NA  NA     NA  NA     NA
## 12  NA     NA     NA  NA      1     NA  NA     NA   1     NA  NA      1
## 13   9     NA     NA  NA     NA     NA  NA     NA  NA      1  NA     NA
## 14   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 15  NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 16   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 17   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 18  NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 19  NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 20  NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 21  NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 22   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 23  NA     NA     NA  NA     NA     NA  NA     NA   1     NA  NA     NA
## 24  16     NA     NA  NA     NA     NA  NA     NA   2     NA  NA     NA
## 25   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 26   2     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 27  NA     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
## 28   1     NA     NA  NA     NA     NA  NA     NA  NA     NA  NA     NA
##    159 159.93 159.94 159.95 159.99 160 160.57 162 164 164.99 165 167.38
## 1   NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA      1
## 2   NA     NA     NA     NA      1  NA     NA  NA  NA     NA   2     NA
## 3   NA     NA     NA     NA      1  NA     NA  NA  NA     NA  NA     NA
## 4   NA     NA     NA      1     NA  NA     NA  NA  NA     NA  NA     NA
## 5   NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 6   NA     NA     NA     NA     NA  NA     NA  NA  NA     NA   2     NA
## 7   NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 8   NA     NA      1     NA      1   4     NA  NA   1      1   4     NA
## 9   NA      1     NA      1      1   1     NA  NA  NA      3   1     NA
## 10  NA     NA     NA     NA     NA   1     NA   2  NA     NA  NA     NA
## 11  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 12  NA     NA     NA     NA      1  NA     NA  NA  NA     NA  NA     NA
## 13   1     NA     NA     NA     NA   1     NA  NA  NA     NA   1     NA
## 14  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 15  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 16  NA     NA     NA     NA      1  NA     NA  NA  NA     NA  NA     NA
## 17  NA     NA     NA     NA     NA   1     NA  NA  NA     NA  NA     NA
## 18  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 19  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 20  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 21  NA     NA     NA     NA     NA   2     NA  NA  NA     NA  NA     NA
## 22  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 23  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 24  NA     NA     NA      1      4   2     NA  NA  NA     NA   1     NA
## 25  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA  NA     NA
## 26  NA     NA     NA     NA      1  NA      1  NA  NA     NA  NA     NA
## 27  NA     NA     NA     NA     NA  NA     NA  NA  NA     NA   1     NA
## 28  NA     NA     NA     NA      1   1     NA  NA  NA     NA  NA     NA
##    168 169 169.95 169.98 169.99 170 171 171.95 172 173 174 174.95 174.99
## 1    1  NA     NA     NA      1  NA  NA     NA  NA  NA   1     NA     NA
## 2   NA  NA     NA     NA      1   1  NA     NA  NA  NA  NA     NA     NA
## 3   NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 4   NA  NA      1     NA     NA  NA  NA     NA  NA  NA  NA     NA      1
## 5   NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 6   NA  NA     NA     NA     NA   1  NA     NA  NA  NA  NA     NA     NA
## 7   NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 8   NA  NA     NA     NA      1   2  NA     NA   1  NA  NA     NA      2
## 9   NA  NA     NA      1      1  NA  NA     NA  NA  NA  NA     NA      1
## 10  NA  NA     NA     NA     NA  NA   1     NA   1  NA  NA     NA      1
## 11  NA   3     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 12  NA  NA     NA     NA     NA  NA  NA     NA  NA   1  NA     NA     NA
## 13  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA      1     NA
## 14  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 15  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 16  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 17  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 18  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 19  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 20  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 21  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 22  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 23  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 24   1  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA      2
## 25  NA  NA     NA     NA     NA   1  NA     NA  NA  NA  NA     NA     NA
## 26  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
## 27  NA  NA     NA     NA      1  NA  NA      1  NA  NA  NA     NA     NA
## 28  NA  NA     NA     NA     NA  NA  NA     NA  NA  NA  NA     NA     NA
##    175 176.27 177.99 178.99 179 179.95 179.96 179.99 180 181 182 182.77
## 1    1     NA      1     NA  NA     NA     NA      1   1  NA  NA     NA
## 2   NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA      1
## 3    1     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 4    1     NA     NA     NA  NA     NA     NA     NA   3  NA  NA     NA
## 5   NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 6    1     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 7   NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 8    6     NA     NA     NA   2      1     NA      2   5  NA  NA     NA
## 9    3     NA     NA     NA  NA      1     NA     NA   1  NA  NA     NA
## 10  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA   1     NA
## 11   1     NA     NA     NA   2     NA     NA      2  NA  NA  NA     NA
## 12   1     NA     NA     NA   1     NA     NA     NA   1  NA  NA     NA
## 13   4     NA     NA     NA   1      1     NA      2   2  NA  NA     NA
## 14  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 15  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 16  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 17  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 18  NA     NA     NA     NA  NA     NA     NA      1  NA  NA  NA     NA
## 19  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 20  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 21   5     NA     NA     NA  NA     NA     NA     NA   3  NA  NA     NA
## 22  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 23  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
## 24   5      1     NA      1  NA     NA      1      1   1   1  NA     NA
## 25  NA     NA     NA     NA   1     NA     NA      1  NA  NA  NA     NA
## 26  NA     NA     NA     NA  NA     NA     NA      1  NA  NA  NA     NA
## 27   1     NA     NA     NA   2     NA     NA     NA  NA  NA  NA     NA
## 28  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA  NA     NA
##    184.5 184.95 184.99 185 185.49 186 187 187.5 187.89 187.99 188 188.88
## 1     NA     NA     NA   1     NA  NA  NA    NA     NA     NA  NA     NA
## 2     NA     NA     NA   1     NA  NA  NA    NA     NA     NA  NA     NA
## 3     NA     NA     NA  NA     NA   1  NA    NA     NA     NA   1     NA
## 4     NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 5     NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 6     NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 7     NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 8     NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 9     NA     NA      1  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 10    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 11    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 12    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 13    NA     NA     NA   3     NA  NA  NA    NA     NA     NA  NA     NA
## 14    NA      1     NA   1     NA  NA  NA    NA     NA     NA  NA     NA
## 15     1     NA     NA  NA     NA  NA  NA     3     NA     NA  NA     NA
## 16    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 17    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 18    NA     NA      1   1     NA  NA   1    NA     NA     NA  NA     NA
## 19    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 20    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 21    NA     NA     NA   1     NA  NA  NA    NA     NA      2  NA     NA
## 22    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 23    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 24    NA     NA     NA   1     NA  NA  NA    NA     NA     NA  NA     NA
## 25    NA     NA      1  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 26    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
## 27    NA     NA     NA  NA      1  NA  NA    NA      1     NA  NA      1
## 28    NA     NA     NA  NA     NA  NA  NA    NA     NA     NA  NA     NA
##    188.99 189 189.85 189.95 189.99 190 190.45 190.99 193 193.15 194 194.29
## 1      NA  NA     NA     NA     NA  NA     NA     NA  NA      1  NA     NA
## 2      NA  NA     NA     NA     NA  NA     NA      1  NA     NA  NA     NA
## 3      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 4      NA  NA     NA     NA     NA  NA      1     NA  NA     NA  NA     NA
## 5      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 6      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 7      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 8      NA   1      1     NA      2   1     NA     NA  NA     NA   1     NA
## 9      NA  NA     NA     NA      1  NA      1     NA  NA     NA  NA     NA
## 10     NA  NA     NA     NA     NA  NA     NA     NA   1     NA  NA     NA
## 11     NA  NA     NA      1      1  NA     NA     NA  NA     NA  NA     NA
## 12     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 13      1   1     NA     NA     NA   1     NA     NA  NA     NA  NA     NA
## 14     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 15     NA  NA     NA     NA      1  NA     NA     NA  NA     NA  NA     NA
## 16     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 17     NA  NA     NA     NA      1  NA     NA     NA  NA     NA  NA     NA
## 18     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 19     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 20     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 21     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 22     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 23     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 24     NA  NA     NA     NA      2   1     NA     NA  NA     NA  NA      1
## 25     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
## 26     NA  NA     NA     NA      1  NA     NA     NA  NA     NA  NA     NA
## 27     NA  NA     NA     NA     NA   1     NA     NA  NA     NA  NA     NA
## 28     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA     NA
##    194.85 194.95 195 196 196.79 197.97 198 198.98 199 199.69 199.97 199.99
## 1      NA     NA  NA  NA      1     NA  NA     NA   1     NA     NA      2
## 2      NA     NA   1  NA     NA     NA  NA     NA   2     NA      1     NA
## 3      NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA     NA
## 4      NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA     NA
## 5      NA     NA  NA  NA     NA     NA   1     NA  NA     NA     NA     NA
## 6      NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA      1
## 7      NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA     NA
## 8       1      1  NA  NA     NA     NA  NA      1   1     NA     NA      5
## 9      NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA      3
## 10     NA     NA   1  NA     NA     NA  NA     NA  NA     NA     NA     NA
## 11     NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA     NA
## 12     NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA      2
## 13     NA     NA   2  NA     NA     NA  NA     NA   4      1     NA      7
## 14     NA     NA  NA   1     NA     NA  NA     NA  NA     NA     NA      2
## 15     NA     NA  NA  NA     NA     NA  NA     NA   1     NA     NA      1
## 16     NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA      1
## 17     NA     NA  NA  NA     NA     NA  NA     NA   1     NA     NA      3
## 18     NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA      1
## 19     NA     NA  NA  NA     NA     NA  NA     NA  NA     NA     NA      2
## 20     NA     NA  NA  NA     NA     NA  NA     NA   1     NA     NA      1
## 21     NA     NA  NA  NA     NA      1  NA     NA   2     NA     NA      1
## 22     NA     NA   1  NA     NA     NA  NA     NA  NA     NA     NA     NA
## 23     NA     NA  NA  NA     NA     NA  NA     NA   1     NA     NA     NA
## 24     NA     NA   1  NA     NA     NA  NA     NA   2     NA     NA      4
## 25     NA     NA  NA  NA     NA     NA  NA     NA   1     NA      1      3
## 26     NA     NA  NA  NA     NA     NA  NA     NA   1     NA     NA      1
## 27     NA     NA  NA  NA     NA     NA  NA     NA   2     NA     NA     NA
## 28     NA     NA  NA  NA     NA     NA   1     NA  NA     NA     NA      1
##    200 200.29 201.99 204 204.95 205 208 208.99 209 209.85 209.9 209.98
## 1    2     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 2   NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 3    1     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 4    1     NA     NA  NA     NA  NA  NA     NA  NA     NA     1     NA
## 5   NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 6   NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 7   NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 8    4     NA     NA  NA     NA  NA  NA     NA   1     NA    NA     NA
## 9    2     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 10   1     NA     NA   2     NA  NA  NA     NA  NA     NA    NA     NA
## 11  NA     NA     NA  NA      1  NA  NA     NA  NA     NA    NA     NA
## 12   1     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 13  11      1     NA  NA     NA  NA  NA     NA   2     NA    NA     NA
## 14  NA     NA     NA   1     NA  NA  NA     NA  NA     NA    NA     NA
## 15   2     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 16   3     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 17   7     NA     NA  NA     NA  NA  NA     NA   2     NA    NA     NA
## 18   1     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 19  NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 20  NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 21   3     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 22  NA     NA      1  NA     NA  NA  NA     NA  NA     NA    NA      1
## 23   2     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 24   6     NA     NA  NA     NA   1   1     NA  NA     NA    NA     NA
## 25  NA     NA     NA  NA     NA  NA  NA      1   1      1    NA     NA
## 26   2     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 27  NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
## 28  NA     NA     NA  NA     NA  NA  NA     NA  NA     NA    NA     NA
##    209.99 210 210.99 211.5 211.95 212.99 214.95 214.98 214.99 215 215.99
## 1      NA   1     NA    NA     NA     NA      1     NA     NA   1     NA
## 2      NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 3      NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 4      NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 5      NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 6      NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 7      NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 8      NA  NA     NA    NA     NA      1     NA     NA     NA   1      1
## 9      NA  NA     NA    NA      1     NA     NA     NA     NA  NA     NA
## 10     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 11     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 12     NA   1     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 13     NA  NA     NA    NA     NA     NA     NA     NA     NA   1     NA
## 14     NA  NA     NA    NA     NA     NA     NA     NA      1   2     NA
## 15      2  NA      1    NA     NA     NA     NA     NA     NA  NA     NA
## 16     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 17     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 18     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 19     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 20     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 21     NA   1     NA    NA     NA     NA     NA     NA     NA   1     NA
## 22     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 23     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 24     NA   2     NA     1     NA     NA     NA      1     NA   2     NA
## 25     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 26     NA  NA     NA    NA     NA     NA     NA     NA     NA  NA      1
## 27     NA   1     NA    NA     NA     NA     NA     NA     NA  NA     NA
## 28      1  NA     NA    NA     NA      1     NA     NA     NA  NA     NA
##    217 218 219 219.85 219.95 219.99 220 222.72 223 224 224.98 224.99 225
## 1   NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 2   NA  NA  NA     NA     NA     NA  NA     NA  NA   1     NA     NA  NA
## 3   NA  NA  NA     NA     NA     NA   1     NA  NA  NA     NA     NA   1
## 4   NA  NA  NA     NA     NA     NA   1     NA  NA  NA     NA     NA   1
## 5   NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 6   NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 7   NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 8   NA  NA  NA      1     NA     NA  NA     NA  NA  NA     NA     NA   1
## 9   NA  NA  NA     NA     NA     NA   1     NA  NA  NA     NA     NA  NA
## 10  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 11  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 12  NA  NA  NA     NA     NA     NA   1     NA  NA  NA     NA     NA  NA
## 13  NA   1  NA     NA     NA      1   3     NA  NA  NA     NA      1   5
## 14  NA  NA  NA     NA     NA      1  NA     NA  NA  NA      1     NA   2
## 15  NA  NA  NA     NA      1      2  NA     NA  NA  NA     NA     NA   1
## 16  NA  NA  NA     NA     NA      1   3     NA  NA  NA     NA     NA  NA
## 17  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA   1
## 18  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 19  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 20  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 21  NA  NA  NA     NA     NA     NA  NA     NA   1  NA     NA     NA   4
## 22  NA  NA  NA     NA     NA     NA  NA      1  NA  NA     NA     NA  NA
## 23   1  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA   2
## 24  NA  NA  NA     NA     NA      2  NA     NA  NA  NA     NA     NA   2
## 25  NA  NA   1     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 26  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 27  NA  NA  NA     NA     NA     NA  NA     NA  NA  NA     NA     NA  NA
## 28  NA  NA  NA     NA     NA     NA   1     NA  NA  NA     NA     NA  NA
##    227 227.88 227.95 228.59 228.88 229 229.95 229.97 229.98 229.99 230
## 1   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA   1
## 2   NA     NA     NA     NA     NA   1     NA     NA     NA      1  NA
## 3   NA     NA     NA     NA     NA  NA      1     NA     NA     NA  NA
## 4   NA     NA     NA     NA     NA   1     NA      1     NA      1  NA
## 5   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 6   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 7    1     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 8   NA     NA      1      1     NA  NA     NA     NA     NA      1  NA
## 9   NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 10  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 11  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 12  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 13  NA     NA     NA     NA     NA   1     NA     NA     NA      2  NA
## 14  NA     NA     NA     NA      1   1     NA     NA     NA     NA  NA
## 15  NA     NA     NA     NA     NA  NA     NA     NA      1     NA  NA
## 16  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 17  NA     NA     NA     NA     NA   3     NA     NA     NA     NA  NA
## 18  NA     NA     NA     NA     NA  NA     NA     NA      1     NA  NA
## 19  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 20  NA     NA     NA     NA     NA   1     NA     NA     NA     NA  NA
## 21  NA     NA     NA     NA     NA   1     NA     NA     NA     NA  NA
## 22  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 23  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA   2
## 24  NA      1     NA     NA     NA  NA     NA     NA     NA     NA   2
## 25  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 26  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 27  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
## 28  NA     NA     NA     NA     NA  NA     NA     NA     NA     NA  NA
##    232.99 234 234.99 235 235.99 237 237.99 238 238.8 239 239.88 239.95
## 1       1  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 2      NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 3      NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 4      NA  NA     NA   1     NA  NA     NA  NA    NA  NA     NA     NA
## 5      NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 6      NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 7      NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 8      NA  NA      1   1     NA  NA     NA  NA    NA   1     NA     NA
## 9      NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 10     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 11     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 12     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 13     NA  NA     NA   1     NA  NA      1  NA    NA  NA     NA     NA
## 14     NA  NA     NA  NA     NA  NA     NA   1    NA  NA     NA     NA
## 15     NA   1     NA  NA      1  NA     NA  NA    NA   1      2     NA
## 16     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA      1
## 17     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 18     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 19     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 20     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 21     NA  NA     NA   3     NA   1     NA  NA    NA  NA     NA     NA
## 22     NA  NA     NA  NA     NA  NA     NA  NA    NA   1     NA     NA
## 23     NA  NA     NA  NA     NA  NA     NA  NA     1  NA     NA     NA
## 24     NA  NA     NA   1     NA  NA     NA  NA    NA  NA     NA     NA
## 25     NA  NA     NA  NA     NA  NA     NA  NA    NA   1     NA     NA
## 26     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 27     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
## 28     NA  NA     NA  NA     NA  NA     NA  NA    NA  NA     NA     NA
##    239.99 240 241.88 242 244.95 244.96 244.97 245 245.19 246 248 248.18
## 1       1  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 2      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 3      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 4      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 5      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 6      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 7      NA  NA     NA  NA     NA     NA     NA   1     NA  NA  NA     NA
## 8      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 9      NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 10     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 11     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 12      1  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 13      1   2     NA  NA      1     NA     NA  NA      1  NA   1     NA
## 14      1  NA     NA  NA     NA      1     NA  NA     NA  NA  NA     NA
## 15     NA  NA     NA  NA     NA     NA     NA  NA     NA   1  NA     NA
## 16     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 17     NA   1     NA   1     NA     NA     NA   2     NA  NA  NA     NA
## 18     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 19     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 20     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 21      1  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA      1
## 22     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 23     NA  NA     NA  NA     NA     NA     NA   1     NA  NA  NA     NA
## 24     NA   1      1  NA     NA     NA      1  NA     NA  NA  NA     NA
## 25     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 26      1  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 27     NA  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
## 28      1  NA     NA  NA     NA     NA     NA  NA     NA  NA  NA     NA
##    249 249.59 249.95 249.97 249.98 249.99 250 252.88 252.99 254.99 255
## 1    2     NA     NA     NA     NA      1   2     NA     NA     NA  NA
## 2    1     NA     NA     NA     NA      1   2     NA     NA     NA  NA
## 3   NA     NA     NA     NA     NA      1  NA     NA     NA     NA   1
## 4   NA     NA     NA     NA     NA     NA   2     NA     NA     NA  NA
## 5   NA     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 6   NA     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 7   NA     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 8   NA     NA      1      2     NA     NA   3     NA     NA     NA  NA
## 9   NA     NA     NA     NA     NA     NA   1     NA     NA     NA  NA
## 10  NA     NA     NA      1     NA     NA  NA     NA     NA     NA  NA
## 11  NA     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 12  NA     NA     NA     NA     NA     NA  NA     NA     NA     NA   1
## 13   2     NA     NA      1     NA      8   7     NA      1      1   2
## 14  NA     NA     NA     NA     NA     NA   3     NA     NA     NA  NA
## 15  NA     NA      1     NA     NA      2   1     NA     NA     NA  NA
## 16  NA      1     NA     NA     NA      2   4     NA     NA     NA  NA
## 17   1     NA     NA     NA     NA      1   5     NA     NA     NA  NA
## 18  NA     NA     NA     NA      1     NA   1     NA     NA     NA   1
## 19  NA     NA     NA     NA      1     NA   3     NA     NA     NA  NA
## 20  NA     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 21   1     NA     NA     NA     NA     NA   4     NA     NA     NA  NA
## 22   1     NA     NA     NA     NA     NA   2     NA     NA     NA  NA
## 23   1     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 24   1     NA      1     NA     NA      1   3      1     NA     NA   1
## 25   1     NA     NA     NA     NA     NA  NA     NA     NA     NA  NA
## 26  NA     NA     NA     NA     NA      1   2     NA     NA     NA  NA
## 27  NA     NA     NA     NA     NA      1  NA     NA     NA     NA  NA
## 28  NA     NA     NA     NA     NA      1  NA     NA     NA     NA  NA
##    256.24 257.83 258.88 258.98 259 259.95 259.99 260 261.99 263.99 264.95
## 1      NA     NA     NA     NA  NA     NA      1   1     NA     NA     NA
## 2      NA     NA     NA     NA   1     NA     NA  NA     NA     NA     NA
## 3      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 4      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 5      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 6      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 7      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 8      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 9      NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 10     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 11     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 12     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 13     NA     NA     NA     NA   1     NA     NA   1      1      1     NA
## 14     NA     NA     NA     NA   1     NA     NA  NA     NA     NA     NA
## 15     NA     NA     NA     NA  NA     NA      1  NA     NA     NA      1
## 16     NA     NA     NA     NA  NA     NA      2  NA     NA     NA     NA
## 17     NA     NA     NA     NA  NA     NA      1   1     NA     NA     NA
## 18      1     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 19     NA      1     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 20     NA     NA     NA     NA  NA     NA     NA   1     NA     NA     NA
## 21     NA     NA     NA     NA  NA     NA     NA   1     NA     NA     NA
## 22     NA     NA     NA     NA  NA      1     NA  NA     NA     NA     NA
## 23     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 24     NA     NA      1      2   1     NA      1   1     NA     NA     NA
## 25     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 26     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
## 27     NA     NA     NA     NA  NA     NA      2  NA     NA     NA     NA
## 28     NA     NA     NA     NA  NA     NA     NA  NA     NA     NA     NA
##    264.99 265 265.99 266.05 269 269.85 269.94 269.95 269.99 270 270.99 271
## 1      NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 2      NA   1     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 3      NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 4      NA  NA     NA     NA  NA     NA     NA     NA      1  NA     NA  NA
## 5      NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 6      NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 7      NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 8      NA  NA     NA     NA  NA     NA      1     NA     NA  NA     NA  NA
## 9      NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 10     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 11     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 12     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 13     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 14     NA   1     NA     NA  NA     NA     NA      1      2   1     NA  NA
## 15     NA   1     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 16      1  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 17     NA  NA     NA      1  NA      1     NA     NA     NA  NA     NA  NA
## 18     NA   1     NA     NA  NA     NA     NA     NA     NA  NA      1  NA
## 19     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 20     NA   1     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 21     NA  NA     NA     NA   2     NA     NA     NA     NA  NA     NA  NA
## 22     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 23      1  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 24     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA   1
## 25     NA   1     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 26     NA  NA      1     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 27     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
## 28     NA  NA     NA     NA  NA     NA     NA     NA     NA  NA     NA  NA
##    274 274.99 275 276.99 279 279.5 279.95 279.99 280 280.99 284 284.99 285
## 1   NA     NA   1     NA   1    NA     NA     NA   1     NA  NA     NA  NA
## 2   NA     NA  NA      1  NA    NA     NA     NA  NA     NA  NA     NA   1
## 3   NA     NA  NA     NA  NA    NA     NA     NA   1     NA  NA     NA  NA
## 4   NA     NA   1     NA  NA    NA      2     NA  NA     NA  NA     NA  NA
## 5   NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 6   NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 7   NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 8   NA     NA   2     NA   1    NA     NA      1   1     NA  NA     NA  NA
## 9   NA     NA   1     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 10  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 11  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 12  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 13  NA     NA   5     NA  NA     1     NA      2   3      1  NA     NA  NA
## 14  NA     NA  NA      1  NA    NA     NA      4  NA     NA   1     NA  NA
## 15  NA     NA   1     NA  NA    NA     NA     NA  NA     NA  NA     NA   2
## 16  NA     NA   1     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 17   1     NA   1     NA   1    NA     NA      2   1     NA  NA     NA  NA
## 18  NA     NA  NA     NA  NA    NA     NA      1   1     NA  NA     NA  NA
## 19  NA      1  NA     NA   1    NA     NA     NA  NA     NA  NA     NA  NA
## 20  NA     NA  NA     NA  NA    NA     NA      1  NA     NA  NA     NA  NA
## 21  NA     NA   1     NA  NA    NA     NA     NA   1     NA  NA      2   3
## 22  NA     NA  NA     NA  NA    NA     NA      1   1     NA  NA     NA  NA
## 23  NA     NA   1     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 24  NA     NA   4     NA   1     1     NA      1   2     NA  NA     NA   2
## 25  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 26  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 27  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
## 28  NA     NA  NA     NA  NA    NA     NA     NA  NA     NA  NA     NA  NA
##    288 289 289.79 289.95 289.98 289.99 290 291.99 292.5 294.99 295 295.95
## 1   NA  NA     NA     NA     NA     NA  NA     NA    NA     NA   1     NA
## 2   NA   1     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 3   NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 4   NA  NA     NA      1     NA     NA  NA     NA    NA     NA  NA     NA
## 5   NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 6   NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 7   NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 8   NA  NA     NA     NA     NA     NA  NA     NA    NA      1  NA     NA
## 9   NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 10  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 11   1  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 12  NA  NA     NA     NA     NA      1  NA     NA    NA     NA  NA     NA
## 13  NA   1     NA     NA     NA      1   1      1    NA     NA   2     NA
## 14  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA   1     NA
## 15  NA  NA     NA     NA      1     NA  NA     NA    NA     NA  NA     NA
## 16  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 17   1  NA      1     NA     NA     NA   2     NA    NA      1  NA     NA
## 18  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA   1     NA
## 19  NA  NA     NA     NA     NA     NA   1     NA    NA     NA  NA     NA
## 20  NA  NA     NA     NA     NA     NA  NA     NA     1     NA  NA     NA
## 21  NA   2     NA      1     NA     NA   1     NA    NA     NA  NA     NA
## 22  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 23  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA   1      1
## 24  NA  NA     NA     NA     NA      1  NA     NA    NA     NA   1     NA
## 25  NA   1     NA     NA     NA     NA   1     NA    NA     NA  NA     NA
## 26  NA  NA     NA     NA     NA     NA   1     NA    NA     NA  NA     NA
## 27  NA  NA     NA     NA     NA     NA  NA     NA    NA     NA  NA     NA
## 28  NA  NA     NA     NA     NA     NA   1     NA    NA     NA  NA     NA
##    298 298.97 299 299.95 299.98 299.99 300 303.67 303.99 304.89 305 308
## 1   NA     NA  NA     NA     NA      1   5     NA     NA     NA  NA  NA
## 2   NA     NA  NA     NA     NA      1   3     NA     NA     NA  NA  NA
## 3   NA     NA  NA     NA     NA      1  NA     NA     NA     NA  NA  NA
## 4   NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 5   NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 6   NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 7   NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 8   NA      1  NA     NA     NA     NA   2     NA     NA     NA  NA  NA
## 9   NA     NA  NA     NA     NA     NA   1     NA     NA     NA  NA  NA
## 10  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 11  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 12  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 13  NA     NA   2      1     NA      2   4     NA      1      1   2  NA
## 14   1     NA   4     NA     NA     NA   2     NA     NA     NA  NA  NA
## 15  NA     NA  NA     NA     NA     NA   1     NA     NA     NA  NA  NA
## 16  NA     NA  NA     NA     NA      1   2     NA     NA     NA  NA  NA
## 17  NA     NA   3     NA     NA      3  10     NA     NA     NA   1  NA
## 18  NA     NA  NA     NA     NA     NA   1     NA     NA     NA  NA  NA
## 19  NA     NA  NA     NA      1      1  NA     NA     NA     NA  NA  NA
## 20  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 21  NA     NA   3     NA     NA      2   6     NA     NA     NA  NA   1
## 22  NA     NA   1     NA     NA      1   1      1     NA     NA  NA  NA
## 23  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 24   1     NA  NA     NA     NA      2   3     NA     NA     NA  NA  NA
## 25  NA     NA  NA     NA     NA     NA   1     NA     NA     NA  NA  NA
## 26  NA     NA  NA      1     NA     NA  NA     NA     NA     NA  NA  NA
## 27  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
## 28  NA     NA  NA     NA     NA     NA  NA     NA     NA     NA  NA  NA
##    309.95 309.98 309.99 310 314.99 315 318 319 319.85 319.95 319.98 319.99
## 1      NA     NA     NA  NA     NA  NA  NA   2     NA     NA     NA     NA
## 2      NA      1     NA  NA     NA  NA  NA   1     NA     NA     NA      2
## 3      NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 4      NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 5      NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 6      NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 7      NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 8      NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 9      NA     NA     NA   1     NA   1  NA  NA     NA     NA     NA     NA
## 10     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 11     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 12     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 13     NA     NA      1  NA      1   2  NA  NA     NA     NA     NA      1
## 14     NA     NA      1   2     NA  NA  NA  NA     NA     NA     NA     NA
## 15     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 16     NA     NA     NA  NA      1  NA  NA  NA     NA      1     NA     NA
## 17     NA     NA     NA   1     NA  NA  NA   2      1      1     NA     NA
## 18     NA     NA     NA   1     NA  NA  NA  NA     NA      1     NA      1
## 19     NA     NA     NA  NA     NA  NA   1  NA     NA     NA     NA      2
## 20     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 21      1     NA     NA   1     NA   2  NA  NA     NA     NA      1      1
## 22     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 23     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 24     NA     NA     NA   1     NA   1  NA  NA     NA     NA     NA     NA
## 25     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 26     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 27     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
## 28     NA     NA     NA  NA     NA  NA  NA  NA     NA     NA     NA     NA
##    320 320.99 322.99 324.9 324.99 325 327.58 329 329.99 330 331.99 332.5
## 1   NA     NA     NA    NA     NA   1     NA  NA      1  NA     NA    NA
## 2   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 3   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 4   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 5   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 6   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 7   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 8   NA     NA     NA    NA     NA  NA     NA  NA     NA   1     NA    NA
## 9   NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 10  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 11  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 12  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 13   3     NA     NA    NA      2   1     NA   1     NA  NA     NA    NA
## 14  NA     NA     NA     1     NA  NA     NA  NA     NA  NA     NA    NA
## 15  NA     NA     NA    NA     NA   1     NA  NA     NA  NA     NA    NA
## 16  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 17   1      2     NA    NA      1   2     NA  NA      3  NA     NA    NA
## 18   2     NA      1    NA     NA   1     NA  NA     NA  NA     NA    NA
## 19  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 20   1     NA     NA    NA     NA   1     NA  NA      1  NA     NA    NA
## 21  NA     NA     NA    NA     NA   5      1   3      5  NA      1     1
## 22  NA     NA     NA    NA     NA   1     NA  NA     NA  NA     NA    NA
## 23  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 24   1     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 25  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 26  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 27  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
## 28  NA     NA     NA    NA     NA  NA     NA  NA     NA  NA     NA    NA
##    334 334.95 334.99 335 339 339.5 339.98 339.99 340 344 344.95 345 346
## 1   NA     NA      1  NA   1    NA     NA     NA  NA  NA     NA  NA  NA
## 2   NA     NA     NA  NA  NA    NA     NA     NA   1  NA     NA  NA  NA
## 3   NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 4   NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 5   NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 6   NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 7   NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 8   NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 9   NA     NA     NA  NA  NA    NA     NA     NA   1  NA     NA  NA  NA
## 10  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 11  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 12  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 13  NA     NA     NA  NA   2    NA     NA     NA  NA   2     NA   1  NA
## 14  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 15  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 16  NA     NA     NA  NA  NA    NA     NA     NA   1  NA     NA  NA  NA
## 17  NA     NA     NA  NA   1    NA     NA      1  NA  NA      1  NA   1
## 18  NA     NA      1  NA   2    NA     NA     NA  NA  NA     NA  NA  NA
## 19  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 20  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 21   1     NA     NA   1   2     1      1      1   1  NA     NA   2  NA
## 22  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 23  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 24  NA      1     NA  NA  NA    NA     NA      1  NA  NA     NA  NA  NA
## 25  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 26  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 27  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
## 28  NA     NA     NA  NA  NA    NA     NA     NA  NA  NA     NA  NA  NA
##    347 347.24 348.6 349 349.95 349.99 350 350.25 351 358.24 358.87 359
## 1    1     NA    NA  NA     NA      1   3     NA  NA     NA     NA  NA
## 2   NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 3   NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 4   NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 5   NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 6   NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 7   NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 8   NA     NA    NA  NA     NA      1   1     NA  NA     NA     NA  NA
## 9   NA     NA    NA  NA     NA     NA   1     NA  NA     NA     NA  NA
## 10  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 11  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 12  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 13  NA     NA    NA  NA     NA     NA   2     NA  NA     NA     NA  NA
## 14  NA     NA    NA  NA     NA     NA   1     NA  NA     NA     NA  NA
## 15  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 16  NA     NA    NA  NA     NA      1  NA     NA  NA     NA     NA  NA
## 17  NA     NA    NA   2     NA      3   7     NA  NA     NA     NA  NA
## 18  NA      1    NA  NA      1      1  NA     NA  NA     NA     NA  NA
## 19  NA     NA    NA   1     NA     NA   1     NA  NA      1     NA  NA
## 20  NA     NA    NA  NA     NA     NA   1     NA  NA     NA     NA  NA
## 21  NA     NA    NA   2      1      3   8     NA  NA     NA     NA   1
## 22  NA     NA    NA  NA     NA     NA   3      1  NA     NA     NA  NA
## 23  NA     NA    NA  NA     NA     NA   1     NA  NA     NA     NA  NA
## 24  NA     NA     1  NA     NA      1   5     NA   1     NA      1  NA
## 25  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 26  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 27  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
## 28  NA     NA    NA  NA     NA     NA  NA     NA  NA     NA     NA  NA
##    359.99 360 360.24 367.97 369.99 370 374.95 374.99 375 375.99 376 379
## 1      NA  NA     NA     NA     NA  NA     NA     NA   2     NA  NA  NA
## 2      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 3      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 4      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 5      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 6      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 7      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 8      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 9      NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 10     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 11     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 12     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 13     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 14     NA  NA     NA      1     NA  NA     NA     NA   1     NA  NA  NA
## 15     NA  NA     NA      1     NA  NA     NA     NA   1     NA  NA  NA
## 16     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 17      1  NA     NA     NA      1   1      2     NA   3     NA  NA   2
## 18     NA   1     NA     NA      1  NA     NA     NA  NA      1  NA  NA
## 19     NA  NA      1     NA     NA  NA     NA      1  NA     NA  NA  NA
## 20     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA   1
## 21      1  NA     NA     NA     NA   1     NA     NA   4     NA  NA  NA
## 22     NA  NA     NA     NA     NA  NA     NA     NA   1     NA  NA  NA
## 23     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA   1  NA
## 24     NA  NA     NA     NA     NA   1     NA     NA  NA     NA  NA  NA
## 25     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 26     NA  NA     NA     NA     NA  NA     NA     NA   1     NA  NA  NA
## 27     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
## 28     NA  NA     NA     NA     NA  NA     NA     NA  NA     NA  NA  NA
##    379.95 379.99 380 384.99 385 387 387.45 388.3 388.99 389 389.99 393
## 1      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 2      NA     NA   1     NA  NA  NA     NA    NA     NA   1     NA  NA
## 3      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 4      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 5      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 6      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 7      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 8      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 9      NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 10     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA   1
## 11     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 12     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 13     NA     NA   1     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 14     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 15     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 16     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 17     NA      3   2      1  NA  NA     NA    NA      1   1      4  NA
## 18     NA      1  NA     NA  NA  NA     NA    NA     NA  NA      2  NA
## 19     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 20     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 21      1      1   2     NA   1   1     NA    NA     NA  NA      1  NA
## 22     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA      1  NA
## 23     NA      1  NA     NA   1  NA     NA    NA     NA  NA     NA  NA
## 24     NA      1  NA     NA   1  NA     NA     1     NA  NA     NA  NA
## 25     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 26     NA     NA  NA     NA  NA  NA      1    NA     NA  NA     NA  NA
## 27     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
## 28     NA     NA  NA     NA  NA  NA     NA    NA     NA  NA     NA  NA
##    394.99 395 396 397.75 398.99 399 399.94 399.95 399.99 400 404.99 406
## 1      NA   1  NA     NA     NA   2     NA     NA     NA  NA     NA  NA
## 2      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 3      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 4      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 5      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 6      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 7      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 8      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 9      NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 10     NA   1   1     NA     NA  NA     NA     NA     NA  NA     NA   1
## 11     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 12     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 13     NA   1  NA     NA     NA  NA     NA     NA      1   3     NA  NA
## 14     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 15     NA  NA  NA     NA     NA  NA     NA     NA     NA   1     NA  NA
## 16     NA  NA  NA     NA     NA  NA     NA     NA     NA   1     NA  NA
## 17      1   1  NA     NA     NA   3     NA      1      2   8     NA  NA
## 18     NA  NA  NA     NA     NA   1      1     NA      3   2     NA  NA
## 19     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 20     NA  NA  NA     NA      2  NA     NA      1      1  NA      1  NA
## 21     NA   1  NA     NA     NA   1     NA     NA      5   4     NA  NA
## 22      1  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 23     NA  NA  NA     NA     NA  NA     NA     NA     NA   1     NA  NA
## 24     NA  NA  NA      1      1  NA     NA     NA      1   2     NA  NA
## 25     NA  NA  NA     NA     NA  NA     NA     NA     NA   1     NA  NA
## 26     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 27     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
## 28     NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA  NA
##    408 408.6 409.99 410 415 417 419 419.95 419.99 420 424.55 424.65 424.95
## 1   NA     1     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 2   NA    NA     NA  NA   1  NA  NA     NA      1  NA     NA     NA     NA
## 3   NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 4   NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 5   NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 6   NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 7   NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 8   NA    NA     NA  NA  NA   1  NA     NA     NA  NA     NA     NA     NA
## 9   NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 10  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 11  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 12  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 13  NA    NA     NA  NA  NA  NA  NA     NA      1  NA     NA     NA     NA
## 14  NA    NA     NA   1  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 15  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 16  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 17   1    NA     NA   1   3  NA   2     NA     NA   1      1      1      1
## 18  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 19  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 20  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 21  NA    NA     NA  NA  NA  NA  NA     NA     NA   1     NA     NA     NA
## 22  NA    NA     NA  NA  NA  NA  NA      1     NA  NA     NA     NA     NA
## 23  NA    NA     NA  NA  NA  NA  NA     NA      1  NA     NA     NA     NA
## 24  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 25  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 26  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 27  NA    NA      1  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
## 28  NA    NA     NA  NA  NA  NA  NA     NA     NA  NA     NA     NA     NA
##    424.99 425 425.99 426.3 426.99 429 429.95 429.99 430 438 438.99 439
## 1      NA  NA      1     1     NA  NA     NA     NA  NA  NA     NA  NA
## 2      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 3      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 4      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 5      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 6      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 7      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 8      NA   1     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 9      NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 10     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 11     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 12     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 13     NA   1     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 14     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 15     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 16     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 17     NA   3     NA    NA     NA   1      1      1   2   1      1  NA
## 18      1  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA   1
## 19     NA  NA     NA    NA     NA  NA     NA      1  NA  NA     NA  NA
## 20     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 21     NA   1     NA    NA     NA  NA     NA      1  NA  NA     NA  NA
## 22     NA  NA     NA    NA      1  NA     NA     NA  NA  NA     NA  NA
## 23     NA  NA     NA    NA     NA  NA     NA     NA   1  NA     NA  NA
## 24     NA  NA     NA    NA     NA  NA     NA      1  NA  NA     NA  NA
## 25     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 26     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 27     NA  NA     NA    NA     NA  NA     NA     NA  NA  NA     NA  NA
## 28     NA  NA     NA    NA     NA   1     NA     NA  NA  NA     NA  NA
##    439.98 439.99 440 443.09 444.99 445 445.95 449 449.95 449.99 450 454
## 1      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA   2  NA
## 2       1     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 3      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 4      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 5      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 6      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 7      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 8      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 9      NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 10     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 11     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 12     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 13     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA   2  NA
## 14     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 15     NA     NA  NA     NA     NA   1     NA  NA     NA     NA  NA  NA
## 16     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 17      1      4   1      1      1   1     NA   1     NA      2   8   1
## 18     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 19     NA     NA  NA     NA     NA  NA     NA  NA     NA      1  NA  NA
## 20     NA     NA  NA     NA     NA  NA     NA   1     NA     NA  NA  NA
## 21     NA      1  NA     NA     NA  NA      1   1     NA      2   2  NA
## 22     NA     NA  NA     NA     NA  NA     NA  NA     NA      1  NA  NA
## 23     NA     NA  NA     NA     NA  NA     NA  NA      1     NA  NA  NA
## 24     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 25     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 26     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 27     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
## 28     NA     NA  NA     NA     NA  NA     NA  NA     NA     NA  NA  NA
##    454.68 455 458 459 459.95 459.99 460 462.89 463.26 465.99 469 469.99
## 1      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 2      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 3      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 4      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 5      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 6      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 7      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 8      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 9      NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 10     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 11     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 12     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 13     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 14     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 15     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 16     NA  NA  NA  NA     NA     NA  NA     NA      1     NA  NA     NA
## 17      1   1  NA   1      1      1  NA      1     NA     NA  NA      1
## 18     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA      1
## 19     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 20     NA  NA  NA  NA     NA     NA  NA     NA     NA      2  NA     NA
## 21     NA  NA   1  NA     NA      1   1     NA     NA     NA   1     NA
## 22     NA  NA  NA  NA     NA     NA   1     NA     NA     NA  NA      1
## 23     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 24     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 25     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 26     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 27     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
## 28     NA  NA  NA  NA     NA     NA  NA     NA     NA     NA  NA     NA
##    470 473.6 475 479.99 480 485 489.99 490 490.95 494.5 495.49 495.99
## 1    1     1  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 2   NA    NA  NA     NA   1  NA     NA  NA     NA    NA     NA     NA
## 3   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 4   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 5   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 6   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 7   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 8   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 9   NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 10  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 11  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 12  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 13  NA    NA  NA      1  NA  NA     NA  NA     NA    NA     NA     NA
## 14  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 15  NA    NA  NA     NA  NA  NA     NA  NA     NA     1     NA     NA
## 16  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 17  NA    NA   1     NA   1   1      1   1     NA    NA      1      1
## 18  NA    NA  NA     NA   1  NA     NA  NA     NA    NA     NA     NA
## 19  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 20  NA    NA   1     NA   1  NA     NA  NA      1    NA     NA     NA
## 21  NA    NA   1     NA  NA   1     NA  NA     NA    NA     NA     NA
## 22  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 23  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 24  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 25  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 26  NA    NA   1     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 27  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
## 28  NA    NA  NA     NA  NA  NA     NA  NA     NA    NA     NA     NA
##    498.88 499 499.95 499.99 500 509 509.99 510 514.95 515 517.89 520 520.9
## 1      NA  NA     NA     NA   2  NA     NA  NA     NA  NA     NA  NA     1
## 2      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 3      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 4      NA   1     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 5      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 6      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 7      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 8      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 9      NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 10     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 11     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 12     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 13     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 14     NA  NA     NA     NA   1  NA     NA  NA     NA  NA     NA  NA    NA
## 15     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 16     NA  NA     NA     NA   1  NA     NA  NA     NA  NA     NA   1    NA
## 17     NA   2     NA      4   7  NA      1   1     NA   1      1   1    NA
## 18     NA   1     NA      1  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 19     NA   1      1     NA   1   1     NA  NA     NA  NA     NA  NA    NA
## 20     NA  NA     NA     NA  NA  NA     NA  NA      1  NA     NA  NA    NA
## 21      2   2     NA      4   3   1     NA   1     NA  NA     NA  NA    NA
## 22     NA  NA     NA      1  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 23     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 24     NA  NA     NA      1  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 25     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 26     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 27     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
## 28     NA  NA     NA     NA  NA  NA     NA  NA     NA  NA     NA  NA    NA
##    525 528 529 529.95 529.99 535 539.95 540 544.49 549 549.9 549.95 549.99
## 1   NA  NA  NA     NA     NA   1     NA  NA     NA  NA    NA     NA     NA
## 2   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 3   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 4   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 5   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 6   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 7   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 8   NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 9    1  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 10  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 11  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 12  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 13  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 14  NA  NA  NA     NA     NA  NA     NA   1      1  NA    NA     NA     NA
## 15  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 16  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 17   2   1   1      1      1  NA      1  NA     NA   2     1     NA      4
## 18   1  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA      1     NA
## 19  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 20  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA      1
## 21   1  NA  NA     NA      1  NA     NA  NA     NA  NA    NA     NA      1
## 22  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 23  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 24  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 25  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 26  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 27  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
## 28  NA  NA  NA     NA     NA  NA     NA  NA     NA  NA    NA     NA     NA
##    550 554.77 558.17 559 559.99 560 561.53 565.95 569 573.74 575 579.99
## 1    1      1     NA  NA     NA  NA      1     NA  NA     NA  NA     NA
## 2   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 3   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 4   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 5   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 6   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 7   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 8   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 9   NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 10  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 11  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 12  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 13  NA     NA     NA  NA      1  NA     NA     NA  NA      1  NA     NA
## 14  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 15  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 16  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 17   6     NA     NA   1      2   3     NA     NA  NA     NA   2      2
## 18   1     NA      1  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 19   2     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 20   1     NA     NA  NA     NA  NA     NA      1  NA     NA  NA      1
## 21   1     NA     NA  NA      1  NA     NA     NA   1     NA   2      1
## 22   1     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 23  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 24  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 25  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 26  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 27  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
## 28  NA     NA     NA  NA     NA  NA     NA     NA  NA     NA  NA     NA
##    585.99 588.18 589 589.99 590 595 598.98 599 599.99 600 609.99 614.99
## 1      NA     NA  NA     NA   1   1     NA   1      2  NA     NA     NA
## 2      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 3      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 4      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 5      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 6      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 7      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 8      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 9      NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 10     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 11     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 12     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 13     NA      2  NA     NA  NA  NA     NA  NA     NA   1     NA     NA
## 14     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 15     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 16     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 17      1     NA  NA      1   1   1      1  NA      1   1     NA      1
## 18     NA     NA   1     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 19     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 20     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 21     NA     NA  NA     NA  NA   1     NA  NA      4  NA      1      1
## 22     NA     NA  NA     NA  NA  NA     NA  NA      1  NA     NA     NA
## 23     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 24     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 25     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 26     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 27     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
## 28     NA     NA  NA     NA  NA  NA     NA  NA     NA  NA     NA     NA
##    615.99 619 619.99 624.99 625 629 630 634.99 639 639.99 640 645 645.99
## 1      NA  NA     NA     NA  NA  NA  NA     NA  NA      1   1  NA     NA
## 2      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 3      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 4      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 5      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 6      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 7      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 8      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 9      NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 10     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 11     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 12     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 13     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 14     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 15     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 16     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 17      1   1     NA      1   1   1   1      1   2      2  NA   1      1
## 18     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 19     NA  NA      1     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 20     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 21     NA  NA     NA     NA  NA  NA  NA     NA  NA      1  NA  NA     NA
## 22     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 23     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 24     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 25     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 26     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 27     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
## 28     NA  NA     NA     NA  NA  NA  NA     NA  NA     NA  NA  NA     NA
##    648 649.95 649.99 650 659.49 660 670 675 679.95 679.99 680 689.99 695
## 1   NA     NA     NA  NA     NA  NA  NA  NA     NA      1  NA     NA  NA
## 2   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 3   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 4   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 5   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 6   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 7   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 8   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 9   NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 10  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 11  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 12  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 13  NA     NA      2   1     NA  NA  NA  NA     NA     NA  NA     NA   1
## 14  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 15  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 16  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 17   2      1      1   3     NA   1   1   1      1      1   1     NA  NA
## 18  NA     NA     NA  NA      1  NA  NA  NA     NA     NA  NA     NA  NA
## 19  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 20  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 21  NA     NA     NA   1     NA  NA  NA  NA     NA     NA  NA      1  NA
## 22  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 23  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 24  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 25  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 26  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 27  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
## 28  NA     NA     NA  NA     NA  NA  NA  NA     NA     NA  NA     NA  NA
##    699 699.95 700 710 720.12 729.99 730 740 749 749.95 749.99 750 785 789
## 1   NA     NA   2  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 2   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 3   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 4   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 5   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 6   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 7   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 8   NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 9   NA     NA   1  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 10  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 11  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 12  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 13  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 14  NA      1  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 15  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 16  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 17   1     NA  NA   1     NA      2   1   1   2      2      1   1   1   1
## 18  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA   1  NA  NA
## 19  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 20  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 21  NA     NA  NA  NA     NA      3  NA  NA  NA     NA     NA  NA  NA  NA
## 22  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 23  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 24  NA     NA  NA  NA      1     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 25  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 26  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 27  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
## 28  NA     NA  NA  NA     NA     NA  NA  NA  NA     NA     NA  NA  NA  NA
##    789.99 795 795.99 798 799 799.99 800 820 829.99 879.99 899.99 900 939
## 1      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 2      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 3      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 4      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 5      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 6      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 7      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 8      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 9      NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 10     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 11     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 12     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 13     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 14     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 15     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 16     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 17      1   1      1   1   1     NA   1   1      1      1      1   1   1
## 18     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 19     NA  NA     NA  NA  NA     NA   1  NA     NA     NA     NA  NA  NA
## 20     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 21     NA  NA     NA  NA  NA      1  NA  NA     NA     NA     NA  NA  NA
## 22     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 23     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 24     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 25     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 26     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 27     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
## 28     NA  NA     NA  NA  NA     NA  NA  NA     NA     NA     NA  NA  NA
##    948.98 999 999.99 .entropy .knt
## 1      NA  NA     NA       NA   NA
## 2      NA  NA     NA       NA   NA
## 3      NA  NA     NA       NA   NA
## 4      NA  NA     NA       NA   NA
## 5      NA  NA     NA       NA   NA
## 6      NA  NA     NA       NA   NA
## 7      NA  NA     NA       NA   NA
## 8      NA  NA     NA       NA   NA
## 9      NA  NA     NA       NA   NA
## 10     NA  NA     NA       NA   NA
## 11     NA  NA     NA       NA   NA
## 12     NA  NA     NA       NA   NA
## 13     NA  NA     NA       NA   NA
## 14     NA  NA     NA       NA   NA
## 15     NA  NA     NA       NA   NA
## 16     NA  NA     NA       NA   NA
## 17     NA  NA     NA       NA   NA
## 18     NA  NA     NA       NA   NA
## 19     NA  NA     NA       NA   NA
## 20     NA  NA     NA       NA   NA
## 21      1  NA     NA       NA   NA
## 22     NA  NA     NA       NA   NA
## 23     NA  NA     NA       NA   NA
## 24     NA   1     NA       NA   NA
## 25     NA  NA     NA       NA   NA
## 26     NA  NA     NA       NA   NA
## 27     NA  NA      1       NA   NA
## 28     NA  NA     NA       NA   NA
# Last call for data modifications 
#stop(here") # sav_allobs_df <- glb_allobs_df
# glb_allobs_df[(glb_allobs_df$PropR == 0.75) & (glb_allobs_df$State == "Hawaii"), "PropR.fctr"] <- "N"

# Re-partition
glb_trnobs_df <- subset(glb_allobs_df, .src == "Train")
glb_newobs_df <- subset(glb_allobs_df, .src == "Test")

glb_chunks_df <- myadd_chunk(glb_chunks_df, "select.features", major.inc=TRUE)
##                 label step_major step_minor   bgn   end elapsed
## 7 manage.missing.data          4          1 88.81 93.67    4.86
## 8     select.features          5          0 93.67    NA      NA

Step 5.0: select features

#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
print(glb_feats_df <- myselect_features(entity_df=glb_trnobs_df, 
                       exclude_vars_as_features=glb_exclude_vars_as_features, 
                       rsp_var=glb_rsp_var))
## Warning in cor(data.matrix(entity_df[, sel_feats]), y =
## as.numeric(entity_df[, : the standard deviation is zero
##                                                      id         cor.y
## startprice.log                           startprice.log  0.7052693713
## sold                                               sold -0.4569767211
## biddable                                       biddable -0.4563275606
## prdline.my.fctr                         prdline.my.fctr  0.3382438492
## condition.fctr                           condition.fctr  0.3106762046
## color.fctr                                   color.fctr  0.1677888274
## D.TfIdf.sum.post.stop             D.TfIdf.sum.post.stop -0.1296482504
## D.TfIdf.sum.post.stem             D.TfIdf.sum.post.stem -0.1254721539
## D.sum.TfIdf                                 D.sum.TfIdf -0.1254721539
## D.npnct24.log                             D.npnct24.log -0.1250425485
## D.TfIdf.sum.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio  0.1196299251
## D.nuppr.log                                 D.nuppr.log -0.1166425681
## D.nchrs.log                                 D.nchrs.log -0.1159829723
## D.nwrds.log                                 D.nwrds.log -0.1098932656
## D.ratio.nstopwrds.nwrds         D.ratio.nstopwrds.nwrds  0.1075484534
## D.terms.n.post.stop.log         D.terms.n.post.stop.log -0.1073577343
## D.terms.n.post.stem.log         D.terms.n.post.stem.log -0.1071833048
## D.nwrds.unq.log                         D.nwrds.unq.log -0.1071833048
## UniqueID                                       UniqueID  0.1070161471
## idseq.my                                       idseq.my  0.1070161471
## D.nstopwrds.log                         D.nstopwrds.log -0.1049213237
## D.ratio.sum.TfIdf.nwrds         D.ratio.sum.TfIdf.nwrds -0.1049203217
## D.T.screen                                   D.T.screen -0.0931731081
## D.terms.n.post.stop                 D.terms.n.post.stop -0.0881077263
## D.terms.n.post.stem                 D.terms.n.post.stem -0.0876424112
## carrier.fctr                               carrier.fctr  0.0825701842
## .clusterid                                   .clusterid -0.0801748511
## .clusterid.fctr                         .clusterid.fctr -0.0801748511
## D.npnct13.log                             D.npnct13.log -0.0787436811
## D.T.work                                       D.T.work -0.0768613740
## D.T.good                                       D.T.good -0.0714102568
## storage.fctr                               storage.fctr -0.0649793405
## D.npnct09.log                             D.npnct09.log  0.0625031263
## D.T.ipad                                       D.T.ipad -0.0550850230
## D.npnct03.log                             D.npnct03.log -0.0516555162
## D.npnct11.log                             D.npnct11.log -0.0495381784
## D.T.use                                         D.T.use -0.0450788187
## D.T.new                                         D.T.new  0.0423874258
## D.npnct15.log                             D.npnct15.log -0.0420569179
## D.T.great                                     D.T.great -0.0419289682
## D.npnct10.log                             D.npnct10.log  0.0399079971
## D.terms.n.stem.stop.Ratio     D.terms.n.stem.stop.Ratio  0.0380363992
## D.npnct06.log                             D.npnct06.log -0.0366796413
## D.npnct16.log                             D.npnct16.log -0.0338015713
## D.P.air                                         D.P.air  0.0321511783
## D.npnct07.log                             D.npnct07.log -0.0286463459
## D.npnct28.log                             D.npnct28.log  0.0283524789
## D.T.scratch                                 D.T.scratch -0.0282866598
## cellular.fctr                             cellular.fctr  0.0196492177
## D.npnct12.log                             D.npnct12.log -0.0186354165
## D.T.condit                                   D.T.condit -0.0138032677
## D.npnct18.log                             D.npnct18.log  0.0119378362
## D.ndgts.log                                 D.ndgts.log -0.0108394471
## D.npnct14.log                             D.npnct14.log  0.0107251700
## D.T.excel                                     D.T.excel -0.0088931501
## .rnorm                                           .rnorm  0.0076927240
## D.P.mini                                       D.P.mini -0.0068984971
## D.npnct05.log                             D.npnct05.log  0.0067080843
## D.npnct01.log                             D.npnct01.log -0.0054440716
## D.npnct08.log                             D.npnct08.log -0.0004608043
## D.npnct02.log                             D.npnct02.log            NA
## D.npnct04.log                             D.npnct04.log            NA
## D.npnct17.log                             D.npnct17.log            NA
## D.npnct19.log                             D.npnct19.log            NA
## D.npnct20.log                             D.npnct20.log            NA
## D.npnct21.log                             D.npnct21.log            NA
## D.npnct22.log                             D.npnct22.log            NA
## D.npnct23.log                             D.npnct23.log            NA
## D.npnct25.log                             D.npnct25.log            NA
## D.npnct26.log                             D.npnct26.log            NA
## D.npnct27.log                             D.npnct27.log            NA
## D.npnct29.log                             D.npnct29.log            NA
## D.npnct30.log                             D.npnct30.log            NA
## D.P.http                                       D.P.http            NA
##                             exclude.as.feat    cor.y.abs
## startprice.log                            1 0.7052693713
## sold                                      1 0.4569767211
## biddable                                  0 0.4563275606
## prdline.my.fctr                           0 0.3382438492
## condition.fctr                            0 0.3106762046
## color.fctr                                0 0.1677888274
## D.TfIdf.sum.post.stop                     0 0.1296482504
## D.TfIdf.sum.post.stem                     0 0.1254721539
## D.sum.TfIdf                               0 0.1254721539
## D.npnct24.log                             0 0.1250425485
## D.TfIdf.sum.stem.stop.Ratio               0 0.1196299251
## D.nuppr.log                               0 0.1166425681
## D.nchrs.log                               0 0.1159829723
## D.nwrds.log                               0 0.1098932656
## D.ratio.nstopwrds.nwrds                   0 0.1075484534
## D.terms.n.post.stop.log                   0 0.1073577343
## D.terms.n.post.stem.log                   0 0.1071833048
## D.nwrds.unq.log                           0 0.1071833048
## UniqueID                                  1 0.1070161471
## idseq.my                                  0 0.1070161471
## D.nstopwrds.log                           0 0.1049213237
## D.ratio.sum.TfIdf.nwrds                   0 0.1049203217
## D.T.screen                                1 0.0931731081
## D.terms.n.post.stop                       0 0.0881077263
## D.terms.n.post.stem                       0 0.0876424112
## carrier.fctr                              0 0.0825701842
## .clusterid                                1 0.0801748511
## .clusterid.fctr                           0 0.0801748511
## D.npnct13.log                             0 0.0787436811
## D.T.work                                  1 0.0768613740
## D.T.good                                  1 0.0714102568
## storage.fctr                              0 0.0649793405
## D.npnct09.log                             0 0.0625031263
## D.T.ipad                                  1 0.0550850230
## D.npnct03.log                             0 0.0516555162
## D.npnct11.log                             0 0.0495381784
## D.T.use                                   1 0.0450788187
## D.T.new                                   1 0.0423874258
## D.npnct15.log                             0 0.0420569179
## D.T.great                                 1 0.0419289682
## D.npnct10.log                             0 0.0399079971
## D.terms.n.stem.stop.Ratio                 0 0.0380363992
## D.npnct06.log                             0 0.0366796413
## D.npnct16.log                             0 0.0338015713
## D.P.air                                   1 0.0321511783
## D.npnct07.log                             0 0.0286463459
## D.npnct28.log                             0 0.0283524789
## D.T.scratch                               1 0.0282866598
## cellular.fctr                             0 0.0196492177
## D.npnct12.log                             0 0.0186354165
## D.T.condit                                1 0.0138032677
## D.npnct18.log                             0 0.0119378362
## D.ndgts.log                               0 0.0108394471
## D.npnct14.log                             0 0.0107251700
## D.T.excel                                 1 0.0088931501
## .rnorm                                    0 0.0076927240
## D.P.mini                                  1 0.0068984971
## D.npnct05.log                             0 0.0067080843
## D.npnct01.log                             0 0.0054440716
## D.npnct08.log                             0 0.0004608043
## D.npnct02.log                             0           NA
## D.npnct04.log                             0           NA
## D.npnct17.log                             0           NA
## D.npnct19.log                             0           NA
## D.npnct20.log                             0           NA
## D.npnct21.log                             0           NA
## D.npnct22.log                             0           NA
## D.npnct23.log                             0           NA
## D.npnct25.log                             0           NA
## D.npnct26.log                             0           NA
## D.npnct27.log                             0           NA
## D.npnct29.log                             0           NA
## D.npnct30.log                             0           NA
## D.P.http                                  1           NA
# sav_feats_df <- glb_feats_df; glb_feats_df <- sav_feats_df
print(glb_feats_df <- orderBy(~-cor.y, 
          myfind_cor_features(feats_df=glb_feats_df, obs_df=glb_trnobs_df, 
                              rsp_var=glb_rsp_var)))
## [1] "cor(D.TfIdf.sum.post.stem, D.sum.TfIdf)=1.0000"
## [1] "cor(startprice, D.TfIdf.sum.post.stem)=-0.1255"
## [1] "cor(startprice, D.sum.TfIdf)=-0.1255"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.sum.TfIdf as highly correlated with
## D.TfIdf.sum.post.stem
## [1] "cor(D.nwrds.unq.log, D.terms.n.post.stem.log)=1.0000"
## [1] "cor(startprice, D.nwrds.unq.log)=-0.1072"
## [1] "cor(startprice, D.terms.n.post.stem.log)=-0.1072"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.terms.n.post.stem.log as highly correlated
## with D.nwrds.unq.log
## [1] "cor(D.nwrds.unq.log, D.terms.n.post.stop.log)=0.9999"
## [1] "cor(startprice, D.nwrds.unq.log)=-0.1072"
## [1] "cor(startprice, D.terms.n.post.stop.log)=-0.1074"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.nwrds.unq.log as highly correlated with
## D.terms.n.post.stop.log
## [1] "cor(D.nchrs.log, D.nuppr.log)=0.9995"
## [1] "cor(startprice, D.nchrs.log)=-0.1160"
## [1] "cor(startprice, D.nuppr.log)=-0.1166"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.nchrs.log as highly correlated with
## D.nuppr.log
## [1] "cor(D.terms.n.post.stem, D.terms.n.post.stop)=0.9991"
## [1] "cor(startprice, D.terms.n.post.stem)=-0.0876"
## [1] "cor(startprice, D.terms.n.post.stop)=-0.0881"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.terms.n.post.stem as highly correlated with
## D.terms.n.post.stop
## [1] "cor(D.TfIdf.sum.post.stem, D.TfIdf.sum.post.stop)=0.9977"
## [1] "cor(startprice, D.TfIdf.sum.post.stem)=-0.1255"
## [1] "cor(startprice, D.TfIdf.sum.post.stop)=-0.1296"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.TfIdf.sum.post.stem as highly correlated with
## D.TfIdf.sum.post.stop
## [1] "cor(D.nuppr.log, D.terms.n.post.stop.log)=0.9930"
## [1] "cor(startprice, D.nuppr.log)=-0.1166"
## [1] "cor(startprice, D.terms.n.post.stop.log)=-0.1074"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.terms.n.post.stop.log as highly correlated
## with D.nuppr.log
## [1] "cor(D.nuppr.log, D.nwrds.log)=0.9922"
## [1] "cor(startprice, D.nuppr.log)=-0.1166"
## [1] "cor(startprice, D.nwrds.log)=-0.1099"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.nwrds.log as highly correlated with
## D.nuppr.log
## [1] "cor(D.npnct24.log, D.nuppr.log)=0.9786"
## [1] "cor(startprice, D.npnct24.log)=-0.1250"
## [1] "cor(startprice, D.nuppr.log)=-0.1166"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.nuppr.log as highly correlated with
## D.npnct24.log
## [1] "cor(D.npnct24.log, D.ratio.nstopwrds.nwrds)=-0.9641"
## [1] "cor(startprice, D.npnct24.log)=-0.1250"
## [1] "cor(startprice, D.ratio.nstopwrds.nwrds)=0.1075"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.ratio.nstopwrds.nwrds as highly correlated
## with D.npnct24.log
## [1] "cor(D.TfIdf.sum.post.stop, D.npnct24.log)=0.9640"
## [1] "cor(startprice, D.TfIdf.sum.post.stop)=-0.1296"
## [1] "cor(startprice, D.npnct24.log)=-0.1250"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.npnct24.log as highly correlated with
## D.TfIdf.sum.post.stop
## [1] "cor(D.npnct06.log, D.npnct16.log)=0.9556"
## [1] "cor(startprice, D.npnct06.log)=-0.0367"
## [1] "cor(startprice, D.npnct16.log)=-0.0338"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.npnct16.log as highly correlated with
## D.npnct06.log
## [1] "cor(D.nstopwrds.log, D.terms.n.post.stop)=0.8931"
## [1] "cor(startprice, D.nstopwrds.log)=-0.1049"
## [1] "cor(startprice, D.terms.n.post.stop)=-0.0881"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.terms.n.post.stop as highly correlated with
## D.nstopwrds.log
## [1] "cor(carrier.fctr, cellular.fctr)=0.8460"
## [1] "cor(startprice, carrier.fctr)=0.0826"
## [1] "cor(startprice, cellular.fctr)=0.0196"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified cellular.fctr as highly correlated with
## carrier.fctr
## [1] "cor(D.TfIdf.sum.post.stop, D.nstopwrds.log)=0.8418"
## [1] "cor(startprice, D.TfIdf.sum.post.stop)=-0.1296"
## [1] "cor(startprice, D.nstopwrds.log)=-0.1049"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified D.nstopwrds.log as highly correlated with
## D.TfIdf.sum.post.stop
##                             id         cor.y exclude.as.feat    cor.y.abs
## 73              startprice.log  0.7052693713               1 0.7052693713
## 71             prdline.my.fctr  0.3382438492               0 0.3382438492
## 69              condition.fctr  0.3106762046               0 0.3106762046
## 68                  color.fctr  0.1677888274               0 0.1677888274
## 19 D.TfIdf.sum.stem.stop.Ratio  0.1196299251               0 0.1196299251
## 56     D.ratio.nstopwrds.nwrds  0.1075484534               0 0.1075484534
## 64                    UniqueID  0.1070161471               1 0.1070161471
## 70                    idseq.my  0.1070161471               0 0.1070161471
## 66                carrier.fctr  0.0825701842               0 0.0825701842
## 30               D.npnct09.log  0.0625031263               0 0.0625031263
## 12                     D.T.new  0.0423874258               1 0.0423874258
## 31               D.npnct10.log  0.0399079971               0 0.0399079971
## 63   D.terms.n.stem.stop.Ratio  0.0380363992               0 0.0380363992
## 4                      D.P.air  0.0321511783               1 0.0321511783
## 49               D.npnct28.log  0.0283524789               0 0.0283524789
## 67               cellular.fctr  0.0196492177               0 0.0196492177
## 39               D.npnct18.log  0.0119378362               0 0.0119378362
## 35               D.npnct14.log  0.0107251700               0 0.0107251700
## 3                       .rnorm  0.0076927240               0 0.0076927240
## 26               D.npnct05.log  0.0067080843               0 0.0067080843
## 29               D.npnct08.log -0.0004608043               0 0.0004608043
## 22               D.npnct01.log -0.0054440716               0 0.0054440716
## 6                     D.P.mini -0.0068984971               1 0.0068984971
## 8                    D.T.excel -0.0088931501               1 0.0088931501
## 21                 D.ndgts.log -0.0108394471               0 0.0108394471
## 7                   D.T.condit -0.0138032677               1 0.0138032677
## 33               D.npnct12.log -0.0186354165               0 0.0186354165
## 13                 D.T.scratch -0.0282866598               1 0.0282866598
## 28               D.npnct07.log -0.0286463459               0 0.0286463459
## 37               D.npnct16.log -0.0338015713               0 0.0338015713
## 27               D.npnct06.log -0.0366796413               0 0.0366796413
## 10                   D.T.great -0.0419289682               1 0.0419289682
## 36               D.npnct15.log -0.0420569179               0 0.0420569179
## 15                     D.T.use -0.0450788187               1 0.0450788187
## 32               D.npnct11.log -0.0495381784               0 0.0495381784
## 24               D.npnct03.log -0.0516555162               0 0.0516555162
## 11                    D.T.ipad -0.0550850230               1 0.0550850230
## 74                storage.fctr -0.0649793405               0 0.0649793405
## 9                     D.T.good -0.0714102568               1 0.0714102568
## 16                    D.T.work -0.0768613740               1 0.0768613740
## 34               D.npnct13.log -0.0787436811               0 0.0787436811
## 1                   .clusterid -0.0801748511               1 0.0801748511
## 2              .clusterid.fctr -0.0801748511               0 0.0801748511
## 59         D.terms.n.post.stem -0.0876424112               0 0.0876424112
## 61         D.terms.n.post.stop -0.0881077263               0 0.0881077263
## 14                  D.T.screen -0.0931731081               1 0.0931731081
## 57     D.ratio.sum.TfIdf.nwrds -0.1049203217               0 0.1049203217
## 52             D.nstopwrds.log -0.1049213237               0 0.1049213237
## 55             D.nwrds.unq.log -0.1071833048               0 0.1071833048
## 60     D.terms.n.post.stem.log -0.1071833048               0 0.1071833048
## 62     D.terms.n.post.stop.log -0.1073577343               0 0.1073577343
## 54                 D.nwrds.log -0.1098932656               0 0.1098932656
## 20                 D.nchrs.log -0.1159829723               0 0.1159829723
## 53                 D.nuppr.log -0.1166425681               0 0.1166425681
## 45               D.npnct24.log -0.1250425485               0 0.1250425485
## 17       D.TfIdf.sum.post.stem -0.1254721539               0 0.1254721539
## 58                 D.sum.TfIdf -0.1254721539               0 0.1254721539
## 18       D.TfIdf.sum.post.stop -0.1296482504               0 0.1296482504
## 65                    biddable -0.4563275606               0 0.4563275606
## 72                        sold -0.4569767211               1 0.4569767211
## 5                     D.P.http            NA               1           NA
## 23               D.npnct02.log            NA               0           NA
## 25               D.npnct04.log            NA               0           NA
## 38               D.npnct17.log            NA               0           NA
## 40               D.npnct19.log            NA               0           NA
## 41               D.npnct20.log            NA               0           NA
## 42               D.npnct21.log            NA               0           NA
## 43               D.npnct22.log            NA               0           NA
## 44               D.npnct23.log            NA               0           NA
## 46               D.npnct25.log            NA               0           NA
## 47               D.npnct26.log            NA               0           NA
## 48               D.npnct27.log            NA               0           NA
## 50               D.npnct29.log            NA               0           NA
## 51               D.npnct30.log            NA               0           NA
##                 cor.high.X   freqRatio percentUnique zeroVar   nzv
## 73                    <NA>    2.807692   30.17751479   FALSE FALSE
## 71                    <NA>    1.135048    0.37654653   FALSE FALSE
## 69                    <NA>    4.003460    0.32275417   FALSE FALSE
## 68                    <NA>    1.574610    0.26896181   FALSE FALSE
## 19                    <NA>   65.176471   32.92092523   FALSE FALSE
## 56           D.npnct24.log   13.048780    4.24959656   FALSE FALSE
## 64                    <NA>    1.000000  100.00000000   FALSE FALSE
## 70                    <NA>    1.000000  100.00000000   FALSE FALSE
## 66                    <NA>    3.195965    0.37654653   FALSE FALSE
## 30                    <NA>  308.333333    0.21516945   FALSE  TRUE
## 12                    <NA>  103.000000    0.86067778   FALSE  TRUE
## 31                    <NA>  308.666667    0.16137708   FALSE  TRUE
## 63                    <NA>   77.826087    0.48413125   FALSE  TRUE
## 4                     <NA>  122.866667    0.16137708   FALSE  TRUE
## 49                    <NA>  463.250000    0.16137708   FALSE  TRUE
## 67            carrier.fctr    2.112381    0.16137708   FALSE FALSE
## 39                    <NA> 1858.000000    0.10758472   FALSE  TRUE
## 35                    <NA>   35.333333    0.26896181   FALSE  TRUE
## 3                     <NA>    1.000000  100.00000000   FALSE FALSE
## 26                    <NA>   40.311111    0.10758472   FALSE  TRUE
## 29                    <NA>   69.576923    0.21516945   FALSE  TRUE
## 22                    <NA>   52.970588    0.32275417   FALSE  TRUE
## 6                     <NA>   91.900000    0.16137708   FALSE  TRUE
## 8                     <NA>  128.285714    0.75309306   FALSE  TRUE
## 21                    <NA>   27.031746    0.69930070   FALSE  TRUE
## 7                     <NA>   22.984848    0.91447015   FALSE  TRUE
## 33                    <NA>   26.818182    0.21516945   FALSE  TRUE
## 13                    <NA>   41.400000    0.86067778   FALSE  TRUE
## 28                    <NA> 1858.000000    0.10758472   FALSE  TRUE
## 37           D.npnct06.log   31.245614    0.16137708   FALSE  TRUE
## 27                    <NA>   33.735849    0.16137708   FALSE  TRUE
## 10                    <NA>  118.400000    0.80688542   FALSE  TRUE
## 36                    <NA>  153.416667    0.16137708   FALSE  TRUE
## 15                    <NA>   44.675676    0.91447015   FALSE  TRUE
## 32                    <NA>    9.374269    0.37654653   FALSE FALSE
## 24                    <NA>   83.227273    0.16137708   FALSE  TRUE
## 11                    <NA>   49.823529    0.80688542   FALSE  TRUE
## 74                    <NA>    2.733138    0.26896181   FALSE FALSE
## 9                     <NA>   45.315789    0.86067778   FALSE  TRUE
## 16                    <NA>   59.241379    0.69930070   FALSE  TRUE
## 34                    <NA>    5.203065    0.32275417   FALSE FALSE
## 1                     <NA>    3.987013    0.26896181   FALSE FALSE
## 2                     <NA>    3.987013    0.26896181   FALSE FALSE
## 59     D.terms.n.post.stop    7.595745    0.80688542   FALSE FALSE
## 61         D.nstopwrds.log    8.052632    0.80688542   FALSE FALSE
## 14                    <NA>   53.343750    0.80688542   FALSE  TRUE
## 57                    <NA>   63.000000   34.85745024   FALSE FALSE
## 52   D.TfIdf.sum.post.stop   13.916667    0.80688542   FALSE FALSE
## 55 D.terms.n.post.stop.log    7.595745    0.80688542   FALSE FALSE
## 60         D.nwrds.unq.log    7.595745    0.80688542   FALSE FALSE
## 62             D.nuppr.log    8.052632    0.80688542   FALSE FALSE
## 54             D.nuppr.log   12.891566    1.29101668   FALSE FALSE
## 20             D.nuppr.log   15.970149    5.70199032   FALSE FALSE
## 53           D.npnct24.log   18.807018    4.41097364   FALSE FALSE
## 45   D.TfIdf.sum.post.stop    1.356147    0.10758472   FALSE FALSE
## 17   D.TfIdf.sum.post.stop   63.000000   34.31952663   FALSE FALSE
## 58   D.TfIdf.sum.post.stem   63.000000   34.31952663   FALSE FALSE
## 18                    <NA>   63.000000   34.42711135   FALSE FALSE
## 65                    <NA>    1.221027    0.10758472   FALSE FALSE
## 72                    <NA>    1.161628    0.10758472   FALSE FALSE
## 5                     <NA>    0.000000    0.05379236    TRUE  TRUE
## 23                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 25                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 38                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 40                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 41                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 42                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 43                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 44                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 46                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 47                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 48                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 50                    <NA>    0.000000    0.05379236    TRUE  TRUE
## 51                    <NA>    0.000000    0.05379236    TRUE  TRUE
##    myNearZV is.cor.y.abs.low
## 73    FALSE            FALSE
## 71    FALSE            FALSE
## 69    FALSE            FALSE
## 68    FALSE            FALSE
## 19    FALSE            FALSE
## 56    FALSE            FALSE
## 64    FALSE            FALSE
## 70    FALSE            FALSE
## 66    FALSE            FALSE
## 30    FALSE            FALSE
## 12    FALSE            FALSE
## 31    FALSE            FALSE
## 63    FALSE            FALSE
## 4     FALSE            FALSE
## 49    FALSE            FALSE
## 67    FALSE            FALSE
## 39     TRUE            FALSE
## 35    FALSE            FALSE
## 3     FALSE            FALSE
## 26    FALSE             TRUE
## 29    FALSE             TRUE
## 22    FALSE             TRUE
## 6     FALSE             TRUE
## 8     FALSE            FALSE
## 21    FALSE            FALSE
## 7     FALSE            FALSE
## 33    FALSE            FALSE
## 13    FALSE            FALSE
## 28     TRUE            FALSE
## 37    FALSE            FALSE
## 27    FALSE            FALSE
## 10    FALSE            FALSE
## 36    FALSE            FALSE
## 15    FALSE            FALSE
## 32    FALSE            FALSE
## 24    FALSE            FALSE
## 11    FALSE            FALSE
## 74    FALSE            FALSE
## 9     FALSE            FALSE
## 16    FALSE            FALSE
## 34    FALSE            FALSE
## 1     FALSE            FALSE
## 2     FALSE            FALSE
## 59    FALSE            FALSE
## 61    FALSE            FALSE
## 14    FALSE            FALSE
## 57    FALSE            FALSE
## 52    FALSE            FALSE
## 55    FALSE            FALSE
## 60    FALSE            FALSE
## 62    FALSE            FALSE
## 54    FALSE            FALSE
## 20    FALSE            FALSE
## 53    FALSE            FALSE
## 45    FALSE            FALSE
## 17    FALSE            FALSE
## 58    FALSE            FALSE
## 18    FALSE            FALSE
## 65    FALSE            FALSE
## 72    FALSE            FALSE
## 5      TRUE               NA
## 23     TRUE               NA
## 25     TRUE               NA
## 38     TRUE               NA
## 40     TRUE               NA
## 41     TRUE               NA
## 42     TRUE               NA
## 43     TRUE               NA
## 44     TRUE               NA
## 46     TRUE               NA
## 47     TRUE               NA
## 48     TRUE               NA
## 50     TRUE               NA
## 51     TRUE               NA
#subset(glb_feats_df, id %in% c("A.nuppr.log", "S.nuppr.log"))
print(myplot_scatter(glb_feats_df, "percentUnique", "freqRatio", 
                     colorcol_name="myNearZV", jitter=TRUE) + 
          geom_point(aes(shape=nzv)) + xlim(-5, 25))
## Warning in myplot_scatter(glb_feats_df, "percentUnique", "freqRatio",
## colorcol_name = "myNearZV", : converting myNearZV to class:factor
## Warning: Removed 9 rows containing missing values (geom_point).
## Warning: Removed 9 rows containing missing values (geom_point).
## Warning: Removed 9 rows containing missing values (geom_point).

print(subset(glb_feats_df, myNearZV))
##               id       cor.y exclude.as.feat  cor.y.abs cor.high.X
## 39 D.npnct18.log  0.01193784               0 0.01193784       <NA>
## 28 D.npnct07.log -0.02864635               0 0.02864635       <NA>
## 5       D.P.http          NA               1         NA       <NA>
## 23 D.npnct02.log          NA               0         NA       <NA>
## 25 D.npnct04.log          NA               0         NA       <NA>
## 38 D.npnct17.log          NA               0         NA       <NA>
## 40 D.npnct19.log          NA               0         NA       <NA>
## 41 D.npnct20.log          NA               0         NA       <NA>
## 42 D.npnct21.log          NA               0         NA       <NA>
## 43 D.npnct22.log          NA               0         NA       <NA>
## 44 D.npnct23.log          NA               0         NA       <NA>
## 46 D.npnct25.log          NA               0         NA       <NA>
## 47 D.npnct26.log          NA               0         NA       <NA>
## 48 D.npnct27.log          NA               0         NA       <NA>
## 50 D.npnct29.log          NA               0         NA       <NA>
## 51 D.npnct30.log          NA               0         NA       <NA>
##    freqRatio percentUnique zeroVar  nzv myNearZV is.cor.y.abs.low
## 39      1858    0.10758472   FALSE TRUE     TRUE            FALSE
## 28      1858    0.10758472   FALSE TRUE     TRUE            FALSE
## 5          0    0.05379236    TRUE TRUE     TRUE               NA
## 23         0    0.05379236    TRUE TRUE     TRUE               NA
## 25         0    0.05379236    TRUE TRUE     TRUE               NA
## 38         0    0.05379236    TRUE TRUE     TRUE               NA
## 40         0    0.05379236    TRUE TRUE     TRUE               NA
## 41         0    0.05379236    TRUE TRUE     TRUE               NA
## 42         0    0.05379236    TRUE TRUE     TRUE               NA
## 43         0    0.05379236    TRUE TRUE     TRUE               NA
## 44         0    0.05379236    TRUE TRUE     TRUE               NA
## 46         0    0.05379236    TRUE TRUE     TRUE               NA
## 47         0    0.05379236    TRUE TRUE     TRUE               NA
## 48         0    0.05379236    TRUE TRUE     TRUE               NA
## 50         0    0.05379236    TRUE TRUE     TRUE               NA
## 51         0    0.05379236    TRUE TRUE     TRUE               NA
glb_allobs_df <- glb_allobs_df[, setdiff(names(glb_allobs_df), 
                                         subset(glb_feats_df, myNearZV)$id)]
glb_trnobs_df <- subset(glb_allobs_df, .src == "Train")
glb_newobs_df <- subset(glb_allobs_df, .src == "Test")

if (!is.null(glb_interaction_only_features))
    glb_feats_df[glb_feats_df$id %in% glb_interaction_only_features, "interaction.feat"] <-
        names(glb_interaction_only_features) else
    glb_feats_df$interaction.feat <- NA        

mycheck_problem_data(glb_allobs_df, terminate = TRUE)
## [1] "numeric data missing in : "
## sold 
##  798 
## [1] "numeric data w/ 0s in : "
##                biddable                    sold          startprice.log 
##                    1444                     999                      31 
##           cellular.fctr     D.terms.n.post.stop D.terms.n.post.stop.log 
##                    1597                    1521                    1521 
##   D.TfIdf.sum.post.stop     D.terms.n.post.stem D.terms.n.post.stem.log 
##                    1521                    1521                    1521 
##   D.TfIdf.sum.post.stem              D.T.condit                 D.T.use 
##                    1521                    2161                    2366 
##             D.T.scratch                 D.T.new                D.T.good 
##                    2371                    2501                    2460 
##                D.T.ipad              D.T.screen               D.T.great 
##                    2425                    2444                    2532 
##                D.T.work               D.T.excel             D.nwrds.log 
##                    2459                    2557                    1520 
##         D.nwrds.unq.log             D.sum.TfIdf D.ratio.sum.TfIdf.nwrds 
##                    1521                    1521                    1521 
##             D.nchrs.log             D.nuppr.log             D.ndgts.log 
##                    1520                    1522                    2426 
##           D.npnct01.log           D.npnct03.log           D.npnct05.log 
##                    2579                    2614                    2592 
##           D.npnct06.log           D.npnct08.log           D.npnct09.log 
##                    2554                    2581                    2641 
##           D.npnct10.log           D.npnct11.log           D.npnct12.log 
##                    2648                    2301                    2537 
##           D.npnct13.log           D.npnct14.log           D.npnct15.log 
##                    1932                    2582                    2637 
##           D.npnct16.log           D.npnct24.log           D.npnct28.log 
##                    2546                    1520                    2649 
##         D.nstopwrds.log                D.P.mini                 D.P.air 
##                    1663                    2623                    2637 
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## description   condition    cellular     carrier       color     storage 
##        1520           0           0           0           0           0 
## productline      .grpid  prdline.my    descr.my 
##           0          NA           0        1520
# glb_allobs_df %>% filter(is.na(Married.fctr)) %>% tbl_df()
# glb_allobs_df %>% count(Married.fctr)
# levels(glb_allobs_df$Married.fctr)

glb_chunks_df <- myadd_chunk(glb_chunks_df, "partition.data.training", major.inc=TRUE)
##                     label step_major step_minor    bgn    end elapsed
## 8         select.features          5          0 93.670 97.445   3.775
## 9 partition.data.training          6          0 97.445     NA      NA

Step 6.0: partition data training

if (all(is.na(glb_newobs_df[, glb_rsp_var]))) {
    
    set.seed(glb_split_sample.seed)
    
    OOB_size <- nrow(glb_newobs_df) * 1.1
    if (is.null(glb_category_var)) {
        require(caTools)
        split <- sample.split(glb_trnobs_df[, glb_rsp_var_raw], 
                              SplitRatio=OOB_size / nrow(glb_trnobs_df))
        glb_OOBobs_df <- glb_trnobs_df[split ,]            
        glb_fitobs_df <- glb_trnobs_df[!split, ] 
    } else {
        sample_vars <- c(glb_rsp_var_raw, glb_category_var)
        rspvar_freq_df <- orderBy(reformulate(glb_rsp_var_raw), 
                                  mycreate_sqlxtab_df(glb_trnobs_df, glb_rsp_var_raw))
        OOB_rspvar_size <- 1.0 * OOB_size * rspvar_freq_df$.n / sum(rspvar_freq_df$.n) 
        newobs_freq_df <- orderBy(reformulate(glb_category_var),
                                  mycreate_sqlxtab_df(glb_newobs_df, glb_category_var))
        trnobs_freq_df <- orderBy(reformulate(glb_category_var),
                                  mycreate_sqlxtab_df(glb_trnobs_df, glb_category_var))
        allobs_freq_df <- merge(newobs_freq_df, trnobs_freq_df, by=glb_category_var,
                                all=TRUE, sort=TRUE, suffixes=c(".Tst", ".Train"))
        allobs_freq_df[is.na(allobs_freq_df)] <- 0
        OOB_strata_size <- ceiling(
            as.vector(matrix(allobs_freq_df$.n.Tst * 1.0 / sum(allobs_freq_df$.n.Tst)) %*%
                      matrix(OOB_rspvar_size, nrow=1)))
        OOB_strata_size[OOB_strata_size == 0] <- 1
        OOB_strata_df <- expand.grid(glb_rsp_var_raw=rspvar_freq_df[, glb_rsp_var_raw],
                                     glb_category_var=allobs_freq_df[, glb_category_var])
        names(OOB_strata_df) <- sample_vars
        OOB_strata_df <- orderBy(reformulate(sample_vars), OOB_strata_df)
        
        trnobs_univ_df <- orderBy(reformulate(sample_vars),
                                       mycreate_sqlxtab_df(glb_trnobs_df, sample_vars))
        trnobs_univ_df <- merge(trnobs_univ_df, OOB_strata_df, all=TRUE)
        tmp_trnobs_df <- orderBy(reformulate(c(glb_rsp_var_raw, glb_category_var)),
                                glb_trnobs_df)
        require(sampling)
        split_strata <- strata(tmp_trnobs_df, 
                               stratanames=c(glb_rsp_var_raw, glb_category_var),
                               size=OOB_strata_size[!is.na(trnobs_univ_df$.n)],
                               method="srswor")
        glb_OOBobs_df <- getdata(tmp_trnobs_df, split_strata)[, names(glb_trnobs_df)]
        glb_fitobs_df <- glb_trnobs_df[!glb_trnobs_df[, glb_id_var] %in% 
                                        glb_OOBobs_df[, glb_id_var], ]
    }
} else {
    print(sprintf("Newdata contains non-NA data for %s; setting OOB to Newdata", 
                  glb_rsp_var))
    glb_fitobs_df <- glb_trnobs_df; glb_OOBobs_df <- glb_newobs_df
}
## [1] "Newdata contains non-NA data for startprice; setting OOB to Newdata"
if (!is.null(glb_max_fitobs) && (nrow(glb_fitobs_df) > glb_max_fitobs)) {
    warning("glb_fitobs_df restricted to glb_max_fitobs: ", 
            format(glb_max_fitobs, big.mark=","))
    org_fitobs_df <- glb_fitobs_df
    glb_fitobs_df <- 
        org_fitobs_df[split <- sample.split(org_fitobs_df[, glb_rsp_var_raw], 
                                            SplitRatio=glb_max_fitobs), ]
    org_fitobs_df <- NULL
}

glb_allobs_df$.lcn <- ""
glb_allobs_df[glb_allobs_df[, glb_id_var] %in% 
              glb_fitobs_df[, glb_id_var], ".lcn"] <- "Fit"
glb_allobs_df[glb_allobs_df[, glb_id_var] %in% 
              glb_OOBobs_df[, glb_id_var], ".lcn"] <- "OOB"

dsp_class_dstrb <- function(obs_df, location_var, partition_var) {
    xtab_df <- mycreate_xtab_df(obs_df, c(location_var, partition_var))
    rownames(xtab_df) <- xtab_df[, location_var]
    xtab_df <- xtab_df[, -grepl(location_var, names(xtab_df))]
    print(xtab_df)
    print(xtab_df / rowSums(xtab_df, na.rm=TRUE))    
}    

# Ensure proper splits by glb_rsp_var_raw & user-specified feature for OOB vs. new
if (!is.null(glb_category_var)) {
    if (glb_is_classification)
        dsp_class_dstrb(glb_allobs_df, ".lcn", glb_rsp_var_raw)
    newobs_ctgry_df <- mycreate_sqlxtab_df(subset(glb_allobs_df, .src == "Test"), 
                                           glb_category_var)
    OOBobs_ctgry_df <- mycreate_sqlxtab_df(subset(glb_allobs_df, .lcn == "OOB"), 
                                           glb_category_var)
    glb_ctgry_df <- merge(newobs_ctgry_df, OOBobs_ctgry_df, by=glb_category_var
                          , all=TRUE, suffixes=c(".Tst", ".OOB"))
    glb_ctgry_df$.freqRatio.Tst <- glb_ctgry_df$.n.Tst / sum(glb_ctgry_df$.n.Tst, na.rm=TRUE)
    glb_ctgry_df$.freqRatio.OOB <- glb_ctgry_df$.n.OOB / sum(glb_ctgry_df$.n.OOB, na.rm=TRUE)
    print(orderBy(~-.freqRatio.Tst-.freqRatio.OOB, glb_ctgry_df))
}
##    prdline.my .n.Tst .n.OOB .freqRatio.Tst .freqRatio.OOB
## 3      iPad 2    154    154      0.1929825      0.1929825
## 5     iPadAir    137    137      0.1716792      0.1716792
## 4     iPad 3+    123    123      0.1541353      0.1541353
## 6    iPadmini    114    114      0.1428571      0.1428571
## 7 iPadmini 2+     94     94      0.1177945      0.1177945
## 2      iPad 1     89     89      0.1115288      0.1115288
## 1     Unknown     87     87      0.1090226      0.1090226
# Run this line by line
print("glb_feats_df:");   print(dim(glb_feats_df))
## [1] "glb_feats_df:"
## [1] 74 12
sav_feats_df <- glb_feats_df
glb_feats_df <- sav_feats_df

glb_feats_df[, "rsp_var_raw"] <- FALSE
glb_feats_df[glb_feats_df$id == glb_rsp_var_raw, "rsp_var_raw"] <- TRUE 
glb_feats_df$exclude.as.feat <- (glb_feats_df$exclude.as.feat == 1)
if (!is.null(glb_id_var) && glb_id_var != ".rownames")
    glb_feats_df[glb_feats_df$id %in% glb_id_var, "id_var"] <- TRUE 
add_feats_df <- data.frame(id=glb_rsp_var, exclude.as.feat=TRUE, rsp_var=TRUE)
row.names(add_feats_df) <- add_feats_df$id; print(add_feats_df)
##                    id exclude.as.feat rsp_var
## startprice startprice            TRUE    TRUE
glb_feats_df <- myrbind_df(glb_feats_df, add_feats_df)
if (glb_id_var != ".rownames")
    print(subset(glb_feats_df, rsp_var_raw | rsp_var | id_var)) else
    print(subset(glb_feats_df, rsp_var_raw | rsp_var))    
##                    id     cor.y exclude.as.feat cor.y.abs cor.high.X
## 64           UniqueID 0.1070161            TRUE 0.1070161       <NA>
## startprice startprice        NA            TRUE        NA       <NA>
##            freqRatio percentUnique zeroVar   nzv myNearZV is.cor.y.abs.low
## 64                 1           100   FALSE FALSE    FALSE            FALSE
## startprice        NA            NA      NA    NA       NA               NA
##            interaction.feat rsp_var_raw id_var rsp_var
## 64                     <NA>       FALSE   TRUE      NA
## startprice             <NA>          NA     NA    TRUE
print("glb_feats_df vs. glb_allobs_df: "); 
## [1] "glb_feats_df vs. glb_allobs_df: "
print(setdiff(glb_feats_df$id, names(glb_allobs_df)))
##  [1] "D.npnct18.log" "D.npnct07.log" "D.P.http"      "D.npnct02.log"
##  [5] "D.npnct04.log" "D.npnct17.log" "D.npnct19.log" "D.npnct20.log"
##  [9] "D.npnct21.log" "D.npnct22.log" "D.npnct23.log" "D.npnct25.log"
## [13] "D.npnct26.log" "D.npnct27.log" "D.npnct29.log" "D.npnct30.log"
print("glb_allobs_df vs. glb_feats_df: "); 
## [1] "glb_allobs_df vs. glb_feats_df: "
# Ensure these are only chr vars
print(setdiff(setdiff(names(glb_allobs_df), glb_feats_df$id), 
                myfind_chr_cols_df(glb_allobs_df)))
## character(0)
#print(setdiff(setdiff(names(glb_allobs_df), glb_exclude_vars_as_features), 
#                glb_feats_df$id))

print("glb_allobs_df: "); print(dim(glb_allobs_df))
## [1] "glb_allobs_df: "
## [1] 2657   71
print("glb_trnobs_df: "); print(dim(glb_trnobs_df))
## [1] "glb_trnobs_df: "
## [1] 1859   70
print("glb_fitobs_df: "); print(dim(glb_fitobs_df))
## [1] "glb_fitobs_df: "
## [1] 1859   70
print("glb_OOBobs_df: "); print(dim(glb_OOBobs_df))
## [1] "glb_OOBobs_df: "
## [1] 798  70
print("glb_newobs_df: "); print(dim(glb_newobs_df))
## [1] "glb_newobs_df: "
## [1] 798  70
# # Does not handle NULL or length(glb_id_var) > 1
# glb_allobs_df$.src.trn <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_var] %in% glb_trnobs_df[, glb_id_var], 
#                 ".src.trn"] <- 1 
# glb_allobs_df$.src.fit <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_var] %in% glb_fitobs_df[, glb_id_var], 
#                 ".src.fit"] <- 1 
# glb_allobs_df$.src.OOB <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_var] %in% glb_OOBobs_df[, glb_id_var], 
#                 ".src.OOB"] <- 1 
# glb_allobs_df$.src.new <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_var] %in% glb_newobs_df[, glb_id_var], 
#                 ".src.new"] <- 1 
# #print(unique(glb_allobs_df[, ".src.trn"]))
# write_cols <- c(glb_feats_df$id, 
#                 ".src.trn", ".src.fit", ".src.OOB", ".src.new")
# glb_allobs_df <- glb_allobs_df[, write_cols]
# 
# tmp_feats_df <- glb_feats_df
# tmp_entity_df <- glb_allobs_df

if (glb_save_envir)
    save(glb_feats_df, 
         glb_allobs_df, #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
         file=paste0(glb_out_pfx, "blddfs_dsk.RData"))
# load(paste0(glb_out_pfx, "blddfs_dsk.RData"))

# if (!all.equal(tmp_feats_df, glb_feats_df))
#     stop("glb_feats_df r/w not working")
# if (!all.equal(tmp_entity_df, glb_allobs_df))
#     stop("glb_allobs_df r/w not working")

rm(split)
## Warning in rm(split): object 'split' not found
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=TRUE)
##                      label step_major step_minor    bgn    end elapsed
## 9  partition.data.training          6          0 97.445 97.894   0.449
## 10              fit.models          7          0 97.894     NA      NA

Step 7.0: fit models

# load(paste0(glb_out_pfx, "dsk.RData"))
# keep_cols <- setdiff(names(glb_allobs_df), 
#                      grep("^.src", names(glb_allobs_df), value=TRUE))
# glb_trnobs_df <- glb_allobs_df[glb_allobs_df$.src.trn == 1, keep_cols]
# glb_fitobs_df <- glb_allobs_df[glb_allobs_df$.src.fit == 1, keep_cols]
# glb_OOBobs_df <- glb_allobs_df[glb_allobs_df$.src.OOB == 1, keep_cols]
# glb_newobs_df <- glb_allobs_df[glb_allobs_df$.src.new == 1, keep_cols]
# 
# glb_models_lst <- list(); glb_models_df <- data.frame()
# 
if (glb_is_classification && glb_is_binomial && 
        (length(unique(glb_fitobs_df[, glb_rsp_var])) < 2))
    stop("glb_fitobs_df$", glb_rsp_var, ": contains less than 2 unique values: ",
         paste0(unique(glb_fitobs_df[, glb_rsp_var]), collapse=", "))

max_cor_y_x_vars <- orderBy(~ -cor.y.abs, 
        subset(glb_feats_df, (exclude.as.feat == 0) & !is.cor.y.abs.low & 
                                is.na(cor.high.X)))[1:2, "id"]
# while(length(max_cor_y_x_vars) < 2) {
#     max_cor_y_x_vars <- c(max_cor_y_x_vars, orderBy(~ -cor.y.abs, 
#             subset(glb_feats_df, (exclude.as.feat == 0) & !is.cor.y.abs.low))[3, "id"])    
# }
if (!is.null(glb_Baseline_mdl_var)) {
    if ((max_cor_y_x_vars[1] != glb_Baseline_mdl_var) & 
        (glb_feats_df[glb_feats_df$id == max_cor_y_x_vars[1], "cor.y.abs"] > 
         glb_feats_df[glb_feats_df$id == glb_Baseline_mdl_var, "cor.y.abs"]))
        stop(max_cor_y_x_vars[1], " has a higher correlation with ", glb_rsp_var, 
             " than the Baseline var: ", glb_Baseline_mdl_var)
}

glb_model_type <- ifelse(glb_is_regression, "regression", "classification")
    
# Baseline
if (!is.null(glb_Baseline_mdl_var)) 
    ret_lst <- myfit_mdl(model_id="Baseline", 
                         model_method="mybaseln_classfr",
                        indep_vars_vctr=glb_Baseline_mdl_var,
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)

# Most Frequent Outcome "MFO" model: mean(y) for regression
#   Not using caret's nullModel since model stats not avl
#   Cannot use rpart for multinomial classification since it predicts non-MFO
ret_lst <- myfit_mdl(model_id="MFO", 
                     model_method=ifelse(glb_is_regression, "lm", "myMFO_classfr"), 
                     model_type=glb_model_type,
                        indep_vars_vctr=".rnorm",
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)
## [1] "fitting model: MFO.lm"
## [1] "    indep_vars: .rnorm"
## Fitting parameter = none on full training set

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -214.81 -129.29  -31.79   90.80  787.85 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  211.342      3.953  53.463   <2e-16 ***
## .rnorm         1.331      4.016   0.332     0.74    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 170.4 on 1857 degrees of freedom
## Multiple R-squared:  5.918e-05,  Adjusted R-squared:  -0.0004793 
## F-statistic: 0.1099 on 1 and 1857 DF,  p-value: 0.7403
## 
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##   model_id model_method  feats max.nTuningRuns min.elapsedtime.everything
## 1   MFO.lm           lm .rnorm               0                      0.486
##   min.elapsedtime.final max.R.sq.fit min.RMSE.fit  max.R.sq.OOB
## 1                 0.004   5.9178e-05     170.3485 -0.0009216371
##   min.RMSE.OOB max.Adj.R.sq.fit
## 1     173.3545    -0.0004792931
if (glb_is_classification)
    # "random" model - only for classification; 
    #   none needed for regression since it is same as MFO
    ret_lst <- myfit_mdl(model_id="Random", model_method="myrandom_classfr",
                            model_type=glb_model_type,                         
                            indep_vars_vctr=".rnorm",
                            rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                            fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)

# Any models that have tuning parameters has "better" results with cross-validation
#   (except rf) & "different" results for different outcome metrics

# Max.cor.Y
#   Check impact of cv
#       rpart is not a good candidate since caret does not optimize cp (only tuning parameter of rpart) well
ret_lst <- myfit_mdl(model_id="Max.cor.Y.cv.0", 
                        model_method="rpart",
                     model_type=glb_model_type,
                        indep_vars_vctr=max_cor_y_x_vars,
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)
## [1] "fitting model: Max.cor.Y.cv.0.rpart"
## [1] "    indep_vars: biddable, prdline.my.fctr"
## Loading required package: rpart
## Fitting cp = 0.208 on full training set
## Loading required package: rpart.plot

## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7, 
##     cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, 
##     surrogatestyle = 0, maxdepth = 30, xval = 0))
##   n= 1859 
## 
##          CP nsplit rel error
## 1 0.2082348      0         1
## 
## Node number 1: 1859 observations
##   mean=211.3404, MSE=29020.33 
## 
## n= 1859 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
## 1) root 1859 53948800 211.3404 *
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##               model_id model_method                     feats
## 1 Max.cor.Y.cv.0.rpart        rpart biddable, prdline.my.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               0                      0.635                 0.015
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB
## 1            0     170.3535            0     173.2747
ret_lst <- myfit_mdl(model_id="Max.cor.Y.cv.0.cp.0", 
                        model_method="rpart",
                     model_type=glb_model_type,
                        indep_vars_vctr=max_cor_y_x_vars,
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                        n_cv_folds=0, 
            tune_models_df=data.frame(parameter="cp", min=0.0, max=0.0, by=0.1))
## [1] "fitting model: Max.cor.Y.cv.0.cp.0.rpart"
## [1] "    indep_vars: biddable, prdline.my.fctr"
## Fitting cp = 0 on full training set

## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7, 
##     cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, 
##     surrogatestyle = 0, maxdepth = 30, xval = 0))
##   n= 1859 
## 
##              CP nsplit rel error
## 1  0.2082348426      0 1.0000000
## 2  0.1508301805      1 0.7917652
## 3  0.0520382853      2 0.6409350
## 4  0.0343035868      3 0.5888967
## 5  0.0206652917      4 0.5545931
## 6  0.0192102188      5 0.5339278
## 7  0.0099497963      6 0.5147176
## 8  0.0034593567      7 0.5047678
## 9  0.0034288114      8 0.5013084
## 10 0.0026020040      9 0.4978796
## 11 0.0007005834     10 0.4952776
## 12 0.0004961822     11 0.4945770
## 13 0.0000259760     12 0.4940809
## 14 0.0000000000     13 0.4940549
## 
## Variable importance
##                   biddable     prdline.my.fctriPadAir 
##                         41                         36 
## prdline.my.fctriPadmini 2+      prdline.my.fctriPad 1 
##                         14                          5 
##     prdline.my.fctriPad 3+      prdline.my.fctriPad 2 
##                          2                          1 
## 
## Node number 1: 1859 observations,    complexity param=0.2082348
##   mean=211.3404, MSE=29020.33 
##   left son=2 (837 obs) right son=3 (1022 obs)
##   Primary splits:
##       biddable                   < 0.5 to the right, improve=0.20823480, (0 missing)
##       prdline.my.fctriPadAir     < 0.5 to the left,  improve=0.19258840, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=0.07643644, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=0.04433587, (0 missing)
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=0.04370009, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPad 1 < 0.5 to the right, agree=0.556, adj=0.013, (0 split)
## 
## Node number 2: 837 observations,    complexity param=0.03430359
##   mean=125.4409, MSE=18411.58 
##   left son=4 (696 obs) right son=5 (141 obs)
##   Primary splits:
##       prdline.my.fctriPadAir     < 0.5 to the left,  improve=0.120089500, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=0.044170840, (0 missing)
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=0.042851130, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=0.030950400, (0 missing)
##       prdline.my.fctriPadmini    < 0.5 to the right, improve=0.008936269, (0 missing)
## 
## Node number 3: 1022 observations,    complexity param=0.1508302
##   mean=281.6905, MSE=26716.52 
##   left son=6 (810 obs) right son=7 (212 obs)
##   Primary splits:
##       prdline.my.fctriPadAir     < 0.5 to the left,  improve=0.29801570, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=0.11899300, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=0.06559892, (0 missing)
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=0.04364408, (0 missing)
##       prdline.my.fctriPadmini    < 0.5 to the right, improve=0.01406053, (0 missing)
## 
## Node number 4: 696 observations,    complexity param=0.01921022
##   mean=104.2766, MSE=12474.79 
##   left son=8 (619 obs) right son=9 (77 obs)
##   Primary splits:
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=0.119363500, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=0.039662430, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=0.020797640, (0 missing)
##       prdline.my.fctriPad 3+     < 0.5 to the left,  improve=0.004664370, (0 missing)
##       prdline.my.fctriPadmini    < 0.5 to the right, improve=0.001232649, (0 missing)
## 
## Node number 5: 141 observations
##   mean=229.9112, MSE=34591.47 
## 
## Node number 6: 810 observations,    complexity param=0.05203829
##   mean=236.0411, MSE=17881.31 
##   left son=12 (682 obs) right son=13 (128 obs)
##   Primary splits:
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=1.938297e-01, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=1.210065e-01, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=3.932612e-02, (0 missing)
##       prdline.my.fctriPad 3+     < 0.5 to the left,  improve=2.276499e-02, (0 missing)
##       prdline.my.fctriPadmini    < 0.5 to the right, improve=6.924801e-05, (0 missing)
## 
## Node number 7: 212 observations
##   mean=456.1057, MSE=22091.13 
## 
## Node number 8: 619 observations,    complexity param=0.003428811
##   mean=90.6668, MSE=8821.231 
##   left son=16 (118 obs) right son=17 (501 obs)
##   Primary splits:
##       prdline.my.fctriPad 1   < 0.5 to the right, improve=0.033877050, (0 missing)
##       prdline.my.fctriPad 3+  < 0.5 to the left,  improve=0.027752350, (0 missing)
##       prdline.my.fctriPad 2   < 0.5 to the right, improve=0.011327070, (0 missing)
##       prdline.my.fctriPadmini < 0.5 to the left,  improve=0.001019907, (0 missing)
## 
## Node number 9: 77 observations
##   mean=213.6855, MSE=28386.29 
## 
## Node number 12: 682 observations,    complexity param=0.02066529
##   mean=210.5363, MSE=14338.51 
##   left son=24 (107 obs) right son=25 (575 obs)
##   Primary splits:
##       prdline.my.fctriPad 1   < 0.5 to the right, improve=0.114007900, (0 missing)
##       prdline.my.fctriPad 3+  < 0.5 to the left,  improve=0.096469760, (0 missing)
##       prdline.my.fctriPad 2   < 0.5 to the right, improve=0.018074460, (0 missing)
##       prdline.my.fctriPadmini < 0.5 to the left,  improve=0.009874778, (0 missing)
## 
## Node number 13: 128 observations
##   mean=371.9341, MSE=14824.98 
## 
## Node number 16: 118 observations
##   mean=55.04669, MSE=3858.357 
## 
## Node number 17: 501 observations,    complexity param=0.002602004
##   mean=99.05637, MSE=9620.909 
##   left son=34 (140 obs) right son=35 (361 obs)
##   Primary splits:
##       prdline.my.fctriPad 2   < 0.5 to the right, improve=0.0291229900, (0 missing)
##       prdline.my.fctriPad 3+  < 0.5 to the left,  improve=0.0169207700, (0 missing)
##       prdline.my.fctriPadmini < 0.5 to the right, improve=0.0002901118, (0 missing)
## 
## Node number 24: 107 observations
##   mean=116.81, MSE=3071.362 
## 
## Node number 25: 575 observations,    complexity param=0.009949796
##   mean=227.9775, MSE=14496.28 
##   left son=50 (406 obs) right son=51 (169 obs)
##   Primary splits:
##       prdline.my.fctriPad 3+  < 0.5 to the left,  improve=0.0643978900, (0 missing)
##       prdline.my.fctriPad 2   < 0.5 to the right, improve=0.0551350100, (0 missing)
##       prdline.my.fctriPadmini < 0.5 to the left,  improve=0.0007316158, (0 missing)
## 
## Node number 34: 140 observations
##   mean=72.17721, MSE=4107.326 
## 
## Node number 35: 361 observations,    complexity param=0.0007005834
##   mean=109.4804, MSE=11370.29 
##   left son=70 (136 obs) right son=71 (225 obs)
##   Primary splits:
##       prdline.my.fctriPadmini < 0.5 to the right, improve=0.009207948, (0 missing)
##       prdline.my.fctriPad 3+  < 0.5 to the left,  improve=0.005547535, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPad 3+ < 0.5 to the left,  agree=0.77, adj=0.39, (0 split)
## 
## Node number 50: 406 observations,    complexity param=0.003459357
##   mean=208.2649, MSE=14138.36 
##   left son=100 (148 obs) right son=101 (258 obs)
##   Primary splits:
##       prdline.my.fctriPad 2   < 0.5 to the right, improve=0.03251263, (0 missing)
##       prdline.my.fctriPadmini < 0.5 to the left,  improve=0.02475849, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPadmini < 0.5 to the left,  agree=0.717, adj=0.223, (0 split)
## 
## Node number 51: 169 observations
##   mean=275.3345, MSE=12179.92 
## 
## Node number 70: 136 observations
##   mean=96.31941, MSE=7136.302 
## 
## Node number 71: 225 observations,    complexity param=2.5976e-05
##   mean=117.4355, MSE=13761.52 
##   left son=142 (83 obs) right son=143 (142 obs)
##   Primary splits:
##       prdline.my.fctriPad 3+ < 0.5 to the left,  improve=0.0004525902, (0 missing)
## 
## Node number 100: 148 observations
##   mean=179.9572, MSE=5402.821 
## 
## Node number 101: 258 observations,    complexity param=0.0004961822
##   mean=224.5034, MSE=18426.07 
##   left son=202 (115 obs) right son=203 (143 obs)
##   Primary splits:
##       prdline.my.fctriPadmini < 0.5 to the left,  improve=0.005630804, (0 missing)
## 
## Node number 142: 83 observations
##   mean=114.1712, MSE=19470.43 
## 
## Node number 143: 142 observations
##   mean=119.3435, MSE=10414.75 
## 
## Node number 202: 115 observations
##   mean=213.145, MSE=23705.89 
## 
## Node number 203: 143 observations
##   mean=233.6379, MSE=13992.88 
## 
## n= 1859 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
##   1) root 1859 53948800.0 211.34040  
##     2) biddable>=0.5 837 15410490.0 125.44090  
##       4) prdline.my.fctriPadAir< 0.5 696  8682454.0 104.27660  
##         8) prdline.my.fctriPadmini 2+< 0.5 619  5460342.0  90.66680  
##          16) prdline.my.fctriPad 1>=0.5 118   455286.1  55.04669 *
##          17) prdline.my.fctriPad 1< 0.5 501  4820075.0  99.05637  
##            34) prdline.my.fctriPad 2>=0.5 140   575025.6  72.17721 *
##            35) prdline.my.fctriPad 2< 0.5 361  4104675.0 109.48040  
##              70) prdline.my.fctriPadmini>=0.5 136   970537.1  96.31941 *
##              71) prdline.my.fctriPadmini< 0.5 225  3096342.0 117.43550  
##               142) prdline.my.fctriPad 3+< 0.5 83  1616045.0 114.17120 *
##               143) prdline.my.fctriPad 3+>=0.5 142  1478895.0 119.34350 *
##         9) prdline.my.fctriPadmini 2+>=0.5 77  2185744.0 213.68550 *
##       5) prdline.my.fctriPadAir>=0.5 141  4877398.0 229.91120 *
##     3) biddable< 0.5 1022 27304290.0 281.69050  
##       6) prdline.my.fctriPadAir< 0.5 810 14483860.0 236.04110  
##        12) prdline.my.fctriPadmini 2+< 0.5 682  9778862.0 210.53630  
##          24) prdline.my.fctriPad 1>=0.5 107   328635.7 116.81000 *
##          25) prdline.my.fctriPad 1< 0.5 575  8335358.0 227.97750  
##            50) prdline.my.fctriPad 3+< 0.5 406  5740173.0 208.26490  
##             100) prdline.my.fctriPad 2>=0.5 148   799617.6 179.95720 *
##             101) prdline.my.fctriPad 2< 0.5 258  4753927.0 224.50340  
##               202) prdline.my.fctriPadmini< 0.5 115  2726177.0 213.14500 *
##               203) prdline.my.fctriPadmini>=0.5 143  2000982.0 233.63790 *
##            51) prdline.my.fctriPad 3+>=0.5 169  2058406.0 275.33450 *
##        13) prdline.my.fctriPadmini 2+>=0.5 128  1897598.0 371.93410 *
##       7) prdline.my.fctriPadAir>=0.5 212  4683319.0 456.10570 *
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##                    model_id model_method                     feats
## 1 Max.cor.Y.cv.0.cp.0.rpart        rpart biddable, prdline.my.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               0                      0.478                 0.011
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB
## 1    0.5059451     119.7399    0.4508174     128.4084
if (glb_is_regression || glb_is_binomial) # For multinomials this model will be run next by default
ret_lst <- myfit_mdl(model_id="Max.cor.Y", 
                        model_method="rpart",
                     model_type=glb_model_type,
                        indep_vars_vctr=max_cor_y_x_vars,
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                        n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
## [1] "fitting model: Max.cor.Y.rpart"
## [1] "    indep_vars: biddable, prdline.my.fctr"
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info =
## trainInfo, : There were missing values in resampled performance measures.
## Aggregating results
## Selecting tuning parameters
## Fitting cp = 0.052 on full training set
## Warning in myfit_mdl(model_id = "Max.cor.Y", model_method = "rpart",
## model_type = glb_model_type, : model's bestTune found at an extreme of
## tuneGrid for parameter: cp

## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7, 
##     cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, 
##     surrogatestyle = 0, maxdepth = 30, xval = 0))
##   n= 1859 
## 
##           CP nsplit rel error
## 1 0.20823484      0 1.0000000
## 2 0.15083018      1 0.7917652
## 3 0.05203829      2 0.6409350
## 
## Variable importance
##               biddable prdline.my.fctriPadAir  prdline.my.fctriPad 1 
##                     58                     42                      1 
## 
## Node number 1: 1859 observations,    complexity param=0.2082348
##   mean=211.3404, MSE=29020.33 
##   left son=2 (837 obs) right son=3 (1022 obs)
##   Primary splits:
##       biddable                   < 0.5 to the right, improve=0.20823480, (0 missing)
##       prdline.my.fctriPadAir     < 0.5 to the left,  improve=0.19258840, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=0.07643644, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=0.04433587, (0 missing)
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=0.04370009, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPad 1 < 0.5 to the right, agree=0.556, adj=0.013, (0 split)
## 
## Node number 2: 837 observations
##   mean=125.4409, MSE=18411.58 
## 
## Node number 3: 1022 observations,    complexity param=0.1508302
##   mean=281.6905, MSE=26716.52 
##   left son=6 (810 obs) right son=7 (212 obs)
##   Primary splits:
##       prdline.my.fctriPadAir     < 0.5 to the left,  improve=0.29801570, (0 missing)
##       prdline.my.fctriPad 1      < 0.5 to the right, improve=0.11899300, (0 missing)
##       prdline.my.fctriPad 2      < 0.5 to the right, improve=0.06559892, (0 missing)
##       prdline.my.fctriPadmini 2+ < 0.5 to the left,  improve=0.04364408, (0 missing)
##       prdline.my.fctriPadmini    < 0.5 to the right, improve=0.01406053, (0 missing)
## 
## Node number 6: 810 observations
##   mean=236.0411, MSE=17881.31 
## 
## Node number 7: 212 observations
##   mean=456.1057, MSE=22091.13 
## 
## n= 1859 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
## 1) root 1859 53948800 211.3404  
##   2) biddable>=0.5 837 15410490 125.4409 *
##   3) biddable< 0.5 1022 27304290 281.6905  
##     6) prdline.my.fctriPadAir< 0.5 810 14483860 236.0411 *
##     7) prdline.my.fctriPadAir>=0.5 212  4683319 456.1057 *
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##          model_id model_method                     feats max.nTuningRuns
## 1 Max.cor.Y.rpart        rpart biddable, prdline.my.fctr               3
##   min.elapsedtime.everything min.elapsedtime.final max.R.sq.fit
## 1                      1.025                 0.015     0.359065
##   min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit min.RMSESD.fit
## 1     134.8184    0.3209143     142.7899        0.3757515        2.62909
##   max.RsquaredSD.fit
## 1         0.02583973
# Used to compare vs. Interactions.High.cor.Y and/or Max.cor.Y.TmSrs
ret_lst <- myfit_mdl(model_id="Max.cor.Y", 
                        model_method=ifelse(glb_is_regression, "lm", 
                                        ifelse(glb_is_binomial, "glm", "rpart")),
                     model_type=glb_model_type,
                        indep_vars_vctr=max_cor_y_x_vars,
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                        n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
## [1] "fitting model: Max.cor.Y.lm"
## [1] "    indep_vars: biddable, prdline.my.fctr"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -363.15  -68.58  -16.28   55.66  763.48 
## 
## Coefficients:
##                              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                   230.837      9.038  25.539  < 2e-16 ***
## biddable                     -141.178      5.741 -24.589  < 2e-16 ***
## `prdline.my.fctriPad 1`       -72.378     11.961  -6.051 1.73e-09 ***
## `prdline.my.fctriPad 2`       -34.644     11.324  -3.059 0.002250 ** 
## `prdline.my.fctriPad 3+`       37.734     11.148   3.385 0.000727 ***
## prdline.my.fctriPadAir        191.311     10.885  17.575  < 2e-16 ***
## prdline.my.fctriPadmini         4.683     11.398   0.411 0.681253    
## `prdline.my.fctriPadmini 2+`  134.686     12.218  11.024  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 122.6 on 1851 degrees of freedom
## Multiple R-squared:  0.4844, Adjusted R-squared:  0.4824 
## F-statistic: 248.4 on 7 and 1851 DF,  p-value: < 2.2e-16
## 
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##       model_id model_method                     feats max.nTuningRuns
## 1 Max.cor.Y.lm           lm biddable, prdline.my.fctr               1
##   min.elapsedtime.everything min.elapsedtime.final max.R.sq.fit
## 1                      0.966                 0.006    0.4843682
##   min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Adj.R.sq.fit max.Rsquared.fit
## 1     122.7558     0.430036     130.8154        0.4824182         0.480809
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       3.627481          0.0327088
if (!is.null(glb_date_vars) && 
    (sum(grepl(paste(glb_date_vars, "\\.day\\.minutes\\.poly\\.", sep=""),
               names(glb_allobs_df))) > 0)) {
# ret_lst <- myfit_mdl(model_id="Max.cor.Y.TmSrs.poly1", 
#                         model_method=ifelse(glb_is_regression, "lm", 
#                                         ifelse(glb_is_binomial, "glm", "rpart")),
#                      model_type=glb_model_type,
#                         indep_vars_vctr=c(max_cor_y_x_vars, paste0(glb_date_vars, ".day.minutes")),
#                         rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
#                         fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
#                         n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
# 
ret_lst <- myfit_mdl(model_id="Max.cor.Y.TmSrs.poly", 
                        model_method=ifelse(glb_is_regression, "lm", 
                                        ifelse(glb_is_binomial, "glm", "rpart")),
                     model_type=glb_model_type,
                        indep_vars_vctr=c(max_cor_y_x_vars, 
            grep(paste(glb_date_vars, "\\.day\\.minutes\\.poly\\.", sep=""),
                        names(glb_allobs_df), value=TRUE)),
                        rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                        n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
}

# Interactions.High.cor.Y
if (length(int_feats <- setdiff(unique(glb_feats_df$cor.high.X), NA)) > 0) {
    # lm & glm handle interaction terms; rpart & rf do not
    if (glb_is_regression || glb_is_binomial) {
        indep_vars_vctr <- 
            c(max_cor_y_x_vars, paste(max_cor_y_x_vars[1], int_feats, sep=":"))            
    } else { indep_vars_vctr <- union(max_cor_y_x_vars, int_feats) }
    
    ret_lst <- myfit_mdl(model_id="Interact.High.cor.Y", 
                            model_method=ifelse(glb_is_regression, "lm", 
                                        ifelse(glb_is_binomial, "glm", "rpart")),
                         model_type=glb_model_type,
                            indep_vars_vctr,
                            glb_rsp_var, glb_rsp_var_out,
                            fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                            n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)             
}    
## [1] "fitting model: Interact.High.cor.Y.lm"
## [1] "    indep_vars: biddable, prdline.my.fctr, biddable:D.npnct24.log, biddable:carrier.fctr, biddable:D.npnct06.log, biddable:D.terms.n.post.stop, biddable:D.nstopwrds.log, biddable:D.TfIdf.sum.post.stop, biddable:D.terms.n.post.stop.log, biddable:D.nwrds.unq.log, biddable:D.nuppr.log, biddable:D.TfIdf.sum.post.stem"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -365.56  -67.07  -15.31   54.37  762.28 
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)
## (Intercept)                         224.904      9.437  23.833  < 2e-16
## biddable                           -131.806      7.354 -17.923  < 2e-16
## `prdline.my.fctriPad 1`             -68.693     12.344  -5.565 3.01e-08
## `prdline.my.fctriPad 2`             -27.536     11.841  -2.325 0.020158
## `prdline.my.fctriPad 3+`             43.742     11.568   3.781 0.000161
## prdline.my.fctriPadAir              199.656     11.256  17.738  < 2e-16
## prdline.my.fctriPadmini              11.818     11.922   0.991 0.321699
## `prdline.my.fctriPadmini 2+`        141.033     12.528  11.257  < 2e-16
## `biddable:D.npnct24.log`           -106.031    135.947  -0.780 0.435522
## `biddable:carrier.fctrAT&T`           7.438     14.724   0.505 0.613537
## `biddable:carrier.fctrOther`         52.856     72.710   0.727 0.467353
## `biddable:carrier.fctrSprint`      -125.554     43.788  -2.867 0.004187
## `biddable:carrier.fctrT-Mobile`     -80.413     43.922  -1.831 0.067292
## `biddable:carrier.fctrUnknown`       25.117     12.172   2.064 0.039198
## `biddable:carrier.fctrVerizon`       -4.604     17.676  -0.260 0.794549
## `biddable:D.npnct06.log`             54.686     27.924   1.958 0.050339
## `biddable:D.terms.n.post.stop`      -11.527     10.989  -1.049 0.294306
## `biddable:D.nstopwrds.log`           21.504     17.199   1.250 0.211356
## `biddable:D.TfIdf.sum.post.stop`    -36.612     25.302  -1.447 0.148068
## `biddable:D.terms.n.post.stop.log`   45.608    281.496   0.162 0.871307
## `biddable:D.nwrds.unq.log`           67.754    255.083   0.266 0.790564
## `biddable:D.nuppr.log`              -20.688     47.148  -0.439 0.660867
## `biddable:D.TfIdf.sum.post.stem`     28.359     26.413   1.074 0.283104
##                                       
## (Intercept)                        ***
## biddable                           ***
## `prdline.my.fctriPad 1`            ***
## `prdline.my.fctriPad 2`            *  
## `prdline.my.fctriPad 3+`           ***
## prdline.my.fctriPadAir             ***
## prdline.my.fctriPadmini               
## `prdline.my.fctriPadmini 2+`       ***
## `biddable:D.npnct24.log`              
## `biddable:carrier.fctrAT&T`           
## `biddable:carrier.fctrOther`          
## `biddable:carrier.fctrSprint`      ** 
## `biddable:carrier.fctrT-Mobile`    .  
## `biddable:carrier.fctrUnknown`     *  
## `biddable:carrier.fctrVerizon`        
## `biddable:D.npnct06.log`           .  
## `biddable:D.terms.n.post.stop`        
## `biddable:D.nstopwrds.log`            
## `biddable:D.TfIdf.sum.post.stop`      
## `biddable:D.terms.n.post.stop.log`    
## `biddable:D.nwrds.unq.log`            
## `biddable:D.nuppr.log`                
## `biddable:D.TfIdf.sum.post.stem`      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 121.6 on 1836 degrees of freedom
## Multiple R-squared:  0.4965, Adjusted R-squared:  0.4905 
## F-statistic: 82.29 on 22 and 1836 DF,  p-value: < 2.2e-16
## 
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##                 model_id model_method
## 1 Interact.High.cor.Y.lm           lm
##                                                                                                                                                                                                                                                                                                        feats
## 1 biddable, prdline.my.fctr, biddable:D.npnct24.log, biddable:carrier.fctr, biddable:D.npnct06.log, biddable:D.terms.n.post.stop, biddable:D.nstopwrds.log, biddable:D.TfIdf.sum.post.stop, biddable:D.terms.n.post.stop.log, biddable:D.nwrds.unq.log, biddable:D.nuppr.log, biddable:D.TfIdf.sum.post.stem
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      0.956                 0.014
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Adj.R.sq.fit
## 1    0.4964956     122.1761    0.4278967     131.0606        0.4904624
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.4857043       4.465793         0.03984517
# Low.cor.X
# if (glb_is_classification && glb_is_binomial)
#     indep_vars_vctr <- subset(glb_feats_df, is.na(cor.high.X) & 
#                                             is.ConditionalX.y & 
#                                             (exclude.as.feat != 1))[, "id"] else
indep_vars_vctr <- subset(glb_feats_df, is.na(cor.high.X) & !myNearZV & 
                              (exclude.as.feat != 1))[, "id"]  
myadjust_interaction_feats <- function(vars_vctr) {
    for (feat in subset(glb_feats_df, !is.na(interaction.feat))$id)
        if (feat %in% vars_vctr)
            vars_vctr <- union(setdiff(vars_vctr, feat), 
                paste0(glb_feats_df[glb_feats_df$id == feat, "interaction.feat"], ":",
                       feat))
    return(vars_vctr)
}
indep_vars_vctr <- myadjust_interaction_feats(indep_vars_vctr)
ret_lst <- myfit_mdl(model_id="Low.cor.X", 
                        model_method=ifelse(glb_is_regression, "lm", 
                                        ifelse(glb_is_binomial, "glm", "rpart")),
                        indep_vars_vctr=indep_vars_vctr,
                        model_type=glb_model_type,                     
                        glb_rsp_var, glb_rsp_var_out,
                        fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                        n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
## [1] "fitting model: Low.cor.X.lm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.ratio.sum.TfIdf.nwrds, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -435.25  -49.79   -3.07   52.73  755.52 
## 
## Coefficients: (7 not defined because of singularities)
##                                                 Estimate Std. Error
## (Intercept)                                    2.296e+02  1.469e+02
## `prdline.my.fctriPad 1`                       -6.231e+01  1.404e+01
## `prdline.my.fctriPad 2`                       -8.329e+00  1.371e+01
## `prdline.my.fctriPad 3+`                       4.149e+01  1.333e+01
## prdline.my.fctriPadAir                         1.363e+02  1.303e+01
## prdline.my.fctriPadmini                        1.667e+01  1.316e+01
## `prdline.my.fctriPadmini 2+`                   7.242e+01  1.377e+01
## `condition.fctrFor parts or not working`      -9.258e+01  9.810e+00
## `condition.fctrManufacturer refurbished`       2.703e+01  1.691e+01
## condition.fctrNew                              8.912e+01  8.203e+00
## `condition.fctrNew other (see details)`        5.916e+01  1.205e+01
## `condition.fctrSeller refurbished`            -1.174e+01  1.066e+01
## color.fctrBlack                               -4.069e+00  6.654e+00
## color.fctrGold                                 5.435e+01  1.336e+01
## `color.fctrSpace Gray`                         1.197e+01  8.742e+00
## color.fctrWhite                                1.140e+01  6.459e+00
## D.TfIdf.sum.stem.stop.Ratio                    8.414e+01  8.332e+01
## idseq.my                                       2.709e-02  5.392e-03
## `carrier.fctrAT&T`                             1.578e+01  8.012e+00
## carrier.fctrOther                              2.037e+00  6.010e+01
## carrier.fctrSprint                            -1.530e+01  1.893e+01
## `carrier.fctrT-Mobile`                         1.237e+01  2.374e+01
## carrier.fctrUnknown                            2.242e+01  8.078e+00
## carrier.fctrVerizon                            1.090e+01  9.462e+00
## D.npnct09.log                                  8.771e+01  3.317e+01
## D.npnct10.log                                  5.344e+01  5.204e+01
## D.terms.n.stem.stop.Ratio                      6.139e+01  1.342e+02
## D.npnct28.log                                 -6.769e+01  5.061e+01
## D.npnct14.log                                 -1.576e+01  1.891e+01
## .rnorm                                        -6.759e-01  2.405e+00
## D.npnct05.log                                 -1.988e+01  3.230e+01
## D.npnct08.log                                 -1.783e+01  1.755e+01
## D.npnct01.log                                  1.604e+01  1.517e+01
## D.ndgts.log                                    2.444e+00  1.030e+01
## D.npnct12.log                                  5.352e+00  1.583e+01
## D.npnct06.log                                 -1.596e+00  2.170e+01
## D.npnct15.log                                 -1.633e+01  2.955e+01
## D.npnct11.log                                 -1.077e+01  8.672e+00
## D.npnct03.log                                  2.811e+01  3.785e+01
## storage.fctr16                                -2.099e+02  1.193e+01
## storage.fctr32                                -1.862e+02  1.287e+01
## storage.fctr64                                -1.394e+02  1.259e+01
## storage.fctrUnknown                           -2.262e+02  1.563e+01
## D.npnct13.log                                 -8.871e+00  8.298e+00
## D.ratio.sum.TfIdf.nwrds                       -1.656e+01  5.120e+00
## D.TfIdf.sum.post.stop                          1.597e+00  1.920e+00
## biddable                                      -1.179e+02  5.129e+00
## `prdline.my.fctrUnknown:.clusterid.fctr2`      4.028e+01  1.859e+01
## `prdline.my.fctriPad 1:.clusterid.fctr2`      -1.368e+01  2.192e+01
## `prdline.my.fctriPad 2:.clusterid.fctr2`      -3.392e+00  1.608e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr2`      2.188e+01  1.754e+01
## `prdline.my.fctriPadAir:.clusterid.fctr2`     -3.743e+01  1.744e+01
## `prdline.my.fctriPadmini:.clusterid.fctr2`     9.330e+00  2.086e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`  3.272e+01  2.364e+01
## `prdline.my.fctrUnknown:.clusterid.fctr3`     -4.759e+00  2.563e+01
## `prdline.my.fctriPad 1:.clusterid.fctr3`       8.366e+00  2.272e+01
## `prdline.my.fctriPad 2:.clusterid.fctr3`       1.018e+01  2.516e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr3`      7.479e+00  1.915e+01
## `prdline.my.fctriPadAir:.clusterid.fctr3`     -1.421e+01  2.260e+01
## `prdline.my.fctriPadmini:.clusterid.fctr3`    -6.693e+00  2.172e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3` -4.330e+00  2.606e+01
## `prdline.my.fctrUnknown:.clusterid.fctr4`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`       2.492e+01  2.494e+01
## `prdline.my.fctriPad 2:.clusterid.fctr4`      -2.756e+01  2.646e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr4`      9.693e+00  2.059e+01
## `prdline.my.fctriPadAir:.clusterid.fctr4`     -1.887e+01  2.286e+01
## `prdline.my.fctriPadmini:.clusterid.fctr4`    -8.225e+00  2.427e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`         NA         NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`              NA         NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`       4.766e+00  2.970e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`     3.795e+01  3.223e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`         NA         NA
##                                               t value Pr(>|t|)    
## (Intercept)                                     1.562  0.11837    
## `prdline.my.fctriPad 1`                        -4.437 9.69e-06 ***
## `prdline.my.fctriPad 2`                        -0.608  0.54357    
## `prdline.my.fctriPad 3+`                        3.111  0.00189 ** 
## prdline.my.fctriPadAir                         10.463  < 2e-16 ***
## prdline.my.fctriPadmini                         1.267  0.20536    
## `prdline.my.fctriPadmini 2+`                    5.258 1.63e-07 ***
## `condition.fctrFor parts or not working`       -9.437  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        1.598  0.11027    
## condition.fctrNew                              10.865  < 2e-16 ***
## `condition.fctrNew other (see details)`         4.910 9.95e-07 ***
## `condition.fctrSeller refurbished`             -1.101  0.27104    
## color.fctrBlack                                -0.612  0.54090    
## color.fctrGold                                  4.068 4.95e-05 ***
## `color.fctrSpace Gray`                          1.369  0.17103    
## color.fctrWhite                                 1.765  0.07767 .  
## D.TfIdf.sum.stem.stop.Ratio                     1.010  0.31271    
## idseq.my                                        5.024 5.56e-07 ***
## `carrier.fctrAT&T`                              1.970  0.04903 *  
## carrier.fctrOther                               0.034  0.97296    
## carrier.fctrSprint                             -0.808  0.41912    
## `carrier.fctrT-Mobile`                          0.521  0.60239    
## carrier.fctrUnknown                             2.776  0.00557 ** 
## carrier.fctrVerizon                             1.152  0.24962    
## D.npnct09.log                                   2.644  0.00826 ** 
## D.npnct10.log                                   1.027  0.30458    
## D.terms.n.stem.stop.Ratio                       0.457  0.64741    
## D.npnct28.log                                  -1.337  0.18124    
## D.npnct14.log                                  -0.834  0.40465    
## .rnorm                                         -0.281  0.77875    
## D.npnct05.log                                  -0.615  0.53834    
## D.npnct08.log                                  -1.016  0.30955    
## D.npnct01.log                                   1.057  0.29069    
## D.ndgts.log                                     0.237  0.81243    
## D.npnct12.log                                   0.338  0.73531    
## D.npnct06.log                                  -0.074  0.94137    
## D.npnct15.log                                  -0.553  0.58061    
## D.npnct11.log                                  -1.242  0.21443    
## D.npnct03.log                                   0.743  0.45785    
## storage.fctr16                                -17.592  < 2e-16 ***
## storage.fctr32                                -14.472  < 2e-16 ***
## storage.fctr64                                -11.073  < 2e-16 ***
## storage.fctrUnknown                           -14.471  < 2e-16 ***
## D.npnct13.log                                  -1.069  0.28520    
## D.ratio.sum.TfIdf.nwrds                        -3.235  0.00124 ** 
## D.TfIdf.sum.post.stop                           0.831  0.40583    
## biddable                                      -22.991  < 2e-16 ***
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.167  0.03039 *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.624  0.53254    
## `prdline.my.fctriPad 2:.clusterid.fctr2`       -0.211  0.83289    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       1.247  0.21242    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -2.146  0.03201 *  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.447  0.65482    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.384  0.16653    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.186  0.85269    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.368  0.71276    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.405  0.68583    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.391  0.69615    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.629  0.52957    
## `prdline.my.fctriPadmini:.clusterid.fctr3`     -0.308  0.75803    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.166  0.86804    
## `prdline.my.fctrUnknown:.clusterid.fctr4`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        0.999  0.31769    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -1.042  0.29778    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.471  0.63790    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.826  0.40911    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.339  0.73474    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`      NA       NA    
## `prdline.my.fctrUnknown:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr5`           NA       NA    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.160  0.87253    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadAir:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.178  0.23909    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 100.5 on 1791 degrees of freedom
## Multiple R-squared:  0.6649, Adjusted R-squared:  0.6523 
## F-statistic: 53.04 on 67 and 1791 DF,  p-value: < 2.2e-16
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading

##       model_id model_method
## 1 Low.cor.X.lm           lm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                          feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.ratio.sum.TfIdf.nwrds, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.283                 0.053
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Adj.R.sq.fit
## 1    0.6648823     102.6309    0.5499382     116.2442        0.6523458
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6367757       5.230233         0.03879193
rm(ret_lst)

glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=FALSE)
##         label step_major step_minor     bgn     end elapsed
## 10 fit.models          7          0  97.894 114.154   16.26
## 11 fit.models          7          1 114.154      NA      NA
fit.models_1_chunk_df <- myadd_chunk(NULL, "fit.models_1_bgn")
##              label step_major step_minor     bgn end elapsed
## 1 fit.models_1_bgn          1          0 116.771  NA      NA
# Options:
#   1. rpart & rf manual tuning
#   2. rf without pca (default: with pca)

#stop(here"); sav_models_lst <- glb_models_lst; sav_models_df <- glb_models_df
#glb_models_lst <- sav_models_lst; glb_models_df <- sav_models_df

# All X that is not user excluded
for (model_id_pfx in c("All.X", "All.Interact.X")) {
#model_id_pfx <- "All.X"
    indep_vars_vctr <- subset(glb_feats_df, !myNearZV &
                                                (exclude.as.feat != 1))[, "id"]
    if (model_id_pfx == "All.Interact.X") {
        interact_vars_vctr <- c(
            #"startprice.log", 
            "biddable", "idseq.my")
        indep_vars_vctr <- union(setdiff(indep_vars_vctr, interact_vars_vctr),
                                paste(glb_category_var, interact_vars_vctr, sep=".fctr*"))
    }
    indep_vars_vctr <- myadjust_interaction_feats(indep_vars_vctr)
    
    #stop(here")
    for (method in glb_models_method_vctr) {
        fit.models_1_chunk_df <- myadd_chunk(fit.models_1_chunk_df, 
                                    paste0("fit.models_1_", method), major.inc=TRUE)
        if (method %in% c("rpart", "rf")) {
            # rpart:    fubar's the tree
            # rf:       skip the scenario w/ .rnorm for speed
            indep_vars_vctr <- setdiff(indep_vars_vctr, c(".rnorm"))
            model_id <- paste0(model_id_pfx, ".no.rnorm")
        } else model_id <- model_id_pfx
        
        ret_lst <- myfit_mdl(model_id=model_id, model_method=method,
                                indep_vars_vctr=indep_vars_vctr,
                                model_type=glb_model_type,
                                rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                                fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                    n_cv_folds=glb_n_cv_folds, tune_models_df=glb_tune_models_df)
        
        # If All.X.glm is less accurate than Low.Cor.X.glm
        #   check NA coefficients & filter appropriate terms in indep_vars_vctr
    #     if (method == "glm") {
    #         orig_glm <- glb_models_lst[[paste0(model_id, ".", model_method)]]$finalModel
    #         orig_glm <- glb_models_lst[["All.X.glm"]]$finalModel; print(summary(orig_glm))
    #           vif_orig_glm <- vif(orig_glm); print(vif_orig_glm)
    #           print(vif_orig_glm[!is.na(vif_orig_glm) & (vif_orig_glm == Inf)])
    #           print(which.max(vif_orig_glm))
    #           print(sort(vif_orig_glm[vif_orig_glm >= 1.0e+03], decreasing=TRUE))
    #           glb_fitobs_df[c(1143, 3637, 3953, 4105), c("UniqueID", "Popular", "H.P.quandary", "Headline")]
    #           glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.nchrs.log", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in%    grep("[HSA]\\.nchrs.log", glb_feats_df$id, value=TRUE), ]
    #           glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.npnct14.log", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in%    grep("[HSA]\\.npnct14.log", glb_feats_df$id, value=TRUE), ]
    #           glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.T.scen", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in%         grep("[HSA]\\.T.scen", glb_feats_df$id, value=TRUE), ]
    #           glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.P.first", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in%         grep("[HSA]\\.P.first", glb_feats_df$id, value=TRUE), ]
    #           all.equal(glb_allobs_df$S.nuppr.log, glb_allobs_df$A.nuppr.log)
    #           all.equal(glb_allobs_df$S.npnct19.log, glb_allobs_df$A.npnct19.log)
    #           all.equal(glb_allobs_df$S.P.year.colon, glb_allobs_df$A.P.year.colon)
    #           all.equal(glb_allobs_df$S.T.share, glb_allobs_df$A.T.share)
    #           all.equal(glb_allobs_df$H.T.clip, glb_allobs_df$H.P.daily.clip.report)
    #           cor(glb_allobs_df$S.T.herald, glb_allobs_df$S.T.tribun)
    #           dsp_obs(Abstract.contains="[Dd]iar", cols=("Abstract"), all=TRUE)
    #           dsp_obs(Abstract.contains="[Ss]hare", cols=("Abstract"), all=TRUE)
    #           subset(glb_feats_df, cor.y.abs <= glb_feats_df[glb_feats_df$id == ".rnorm", "cor.y.abs"])
    #         corxx_mtrx <- cor(data.matrix(glb_allobs_df[, setdiff(names(glb_allobs_df), myfind_chr_cols_df(glb_allobs_df))]), use="pairwise.complete.obs"); abs_corxx_mtrx <- abs(corxx_mtrx); diag(abs_corxx_mtrx) <- 0
    #           which.max(abs_corxx_mtrx["S.T.tribun", ])
    #           abs_corxx_mtrx["A.npnct08.log", "S.npnct08.log"]
    #         step_glm <- step(orig_glm)
    #     }
        # Since caret does not optimize rpart well
    #     if (method == "rpart")
    #         ret_lst <- myfit_mdl(model_id=paste0(model_id_pfx, ".cp.0"), model_method=method,
    #                                 indep_vars_vctr=indep_vars_vctr,
    #                                 model_type=glb_model_type,
    #                                 rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
    #                                 fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,        
    #             n_cv_folds=0, tune_models_df=data.frame(parameter="cp", min=0.0, max=0.0, by=0.1))
    }
}
##              label step_major step_minor     bgn     end elapsed
## 1 fit.models_1_bgn          1          0 116.771 116.779   0.009
## 2  fit.models_1_lm          2          0 116.780      NA      NA
## [1] "fitting model: All.X.lm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -446.08  -49.34   -2.18   51.80  754.43 
## 
## Coefficients: (10 not defined because of singularities)
##                                                 Estimate Std. Error
## (Intercept)                                   -5.206e+04  5.763e+04
## `prdline.my.fctriPad 1`                       -7.604e+01  1.434e+01
## `prdline.my.fctriPad 2`                       -1.869e+01  1.393e+01
## `prdline.my.fctriPad 3+`                       2.989e+01  1.361e+01
## prdline.my.fctriPadAir                         1.241e+02  1.334e+01
## prdline.my.fctriPadmini                        4.250e+00  1.345e+01
## `prdline.my.fctriPadmini 2+`                   6.139e+01  1.399e+01
## `condition.fctrFor parts or not working`      -9.200e+01  9.827e+00
## `condition.fctrManufacturer refurbished`       2.488e+01  1.692e+01
## condition.fctrNew                              8.703e+01  8.223e+00
## `condition.fctrNew other (see details)`        5.694e+01  1.217e+01
## `condition.fctrSeller refurbished`            -1.400e+01  1.074e+01
## color.fctrBlack                               -7.856e+00  6.711e+00
## color.fctrGold                                 5.268e+01  1.333e+01
## `color.fctrSpace Gray`                         9.689e+00  8.749e+00
## color.fctrWhite                                8.957e+00  6.500e+00
## D.TfIdf.sum.stem.stop.Ratio                    3.272e+02  4.590e+02
## D.ratio.nstopwrds.nwrds                        1.527e+02  1.655e+02
## idseq.my                                       2.802e-02  5.403e-03
## `carrier.fctrAT&T`                            -5.172e+01  1.716e+01
## carrier.fctrOther                             -5.124e+01  6.248e+01
## carrier.fctrSprint                            -8.336e+01  2.416e+01
## `carrier.fctrT-Mobile`                        -5.587e+01  2.840e+01
## carrier.fctrUnknown                           -1.898e+01  1.229e+01
## carrier.fctrVerizon                           -5.564e+01  1.783e+01
## D.npnct09.log                                  8.171e+01  3.433e+01
## D.npnct10.log                                  4.878e+01  5.216e+01
## D.terms.n.stem.stop.Ratio                      5.196e+04  5.761e+04
## D.npnct28.log                                 -6.178e+01  5.081e+01
## cellular.fctr1                                 6.894e+01  1.544e+01
## cellular.fctrUnknown                                  NA         NA
## D.npnct14.log                                 -2.069e+01  1.913e+01
## .rnorm                                        -1.833e-01  2.405e+00
## D.npnct05.log                                 -1.793e+01  3.440e+01
## D.npnct08.log                                 -2.128e+01  1.783e+01
## D.npnct01.log                                  1.603e+01  1.551e+01
## D.ndgts.log                                   -4.986e+00  1.221e+01
## D.npnct12.log                                 -4.389e+00  1.652e+01
## D.npnct16.log                                  1.061e+01  5.028e+01
## D.npnct06.log                                 -1.360e+01  5.466e+01
## D.npnct15.log                                 -1.979e+01  2.980e+01
## D.npnct11.log                                 -1.227e+01  9.228e+00
## D.npnct03.log                                  2.942e+01  4.117e+01
## storage.fctr16                                -2.032e+02  1.210e+01
## storage.fctr32                                -1.811e+02  1.300e+01
## storage.fctr64                                -1.356e+02  1.265e+01
## storage.fctrUnknown                           -1.927e+02  1.758e+01
## D.npnct13.log                                 -8.650e+00  9.315e+00
## D.terms.n.post.stem                            3.967e+02  3.807e+02
## D.terms.n.post.stop                           -3.970e+02  3.799e+02
## D.ratio.sum.TfIdf.nwrds                       -1.101e+01  1.038e+01
## D.nstopwrds.log                               -7.249e+01  4.838e+01
## D.nwrds.unq.log                               -5.858e+04  6.441e+04
## D.terms.n.post.stem.log                               NA         NA
## D.terms.n.post.stop.log                        5.857e+04  6.440e+04
## D.nwrds.log                                    7.454e+01  6.777e+01
## D.nchrs.log                                    8.086e+01  6.970e+01
## D.nuppr.log                                   -6.149e+01  5.239e+01
## D.npnct24.log                                 -5.152e+01  1.357e+02
## D.TfIdf.sum.post.stem                         -4.248e+01  7.142e+01
## D.sum.TfIdf                                           NA         NA
## D.TfIdf.sum.post.stop                          4.207e+01  6.852e+01
## biddable                                      -1.182e+02  5.146e+00
## `prdline.my.fctrUnknown:.clusterid.fctr2`      4.163e+01  1.962e+01
## `prdline.my.fctriPad 1:.clusterid.fctr2`      -9.915e+00  2.283e+01
## `prdline.my.fctriPad 2:.clusterid.fctr2`      -2.758e+00  1.693e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr2`      2.081e+01  1.867e+01
## `prdline.my.fctriPadAir:.clusterid.fctr2`     -3.887e+01  1.823e+01
## `prdline.my.fctriPadmini:.clusterid.fctr2`     1.139e+01  2.185e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`  3.219e+01  2.444e+01
## `prdline.my.fctrUnknown:.clusterid.fctr3`     -4.775e+00  2.668e+01
## `prdline.my.fctriPad 1:.clusterid.fctr3`       1.181e+01  2.371e+01
## `prdline.my.fctriPad 2:.clusterid.fctr3`       2.042e+01  2.655e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr3`      7.564e+00  1.986e+01
## `prdline.my.fctriPadAir:.clusterid.fctr3`     -1.469e+01  2.322e+01
## `prdline.my.fctriPadmini:.clusterid.fctr3`    -2.496e+00  2.244e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3` -7.202e+00  2.657e+01
## `prdline.my.fctrUnknown:.clusterid.fctr4`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`       2.958e+01  2.583e+01
## `prdline.my.fctriPad 2:.clusterid.fctr4`      -2.777e+01  2.817e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr4`      8.021e+00  2.128e+01
## `prdline.my.fctriPadAir:.clusterid.fctr4`     -1.263e+01  2.475e+01
## `prdline.my.fctriPadmini:.clusterid.fctr4`    -6.076e+00  2.518e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`         NA         NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`              NA         NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`       1.372e+01  3.086e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`     3.887e+01  3.305e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`         NA         NA
##                                               t value Pr(>|t|)    
## (Intercept)                                    -0.903 0.366429    
## `prdline.my.fctriPad 1`                        -5.303 1.28e-07 ***
## `prdline.my.fctriPad 2`                        -1.341 0.180117    
## `prdline.my.fctriPad 3+`                        2.196 0.028212 *  
## prdline.my.fctriPadAir                          9.297  < 2e-16 ***
## prdline.my.fctriPadmini                         0.316 0.751990    
## `prdline.my.fctriPadmini 2+`                    4.389 1.21e-05 ***
## `condition.fctrFor parts or not working`       -9.362  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        1.471 0.141586    
## condition.fctrNew                              10.583  < 2e-16 ***
## `condition.fctrNew other (see details)`         4.678 3.11e-06 ***
## `condition.fctrSeller refurbished`             -1.303 0.192615    
## color.fctrBlack                                -1.171 0.241895    
## color.fctrGold                                  3.953 8.02e-05 ***
## `color.fctrSpace Gray`                          1.107 0.268240    
## color.fctrWhite                                 1.378 0.168349    
## D.TfIdf.sum.stem.stop.Ratio                     0.713 0.476008    
## D.ratio.nstopwrds.nwrds                         0.923 0.356350    
## idseq.my                                        5.186 2.40e-07 ***
## `carrier.fctrAT&T`                             -3.014 0.002613 ** 
## carrier.fctrOther                              -0.820 0.412275    
## carrier.fctrSprint                             -3.450 0.000574 ***
## `carrier.fctrT-Mobile`                         -1.968 0.049263 *  
## carrier.fctrUnknown                            -1.545 0.122630    
## carrier.fctrVerizon                            -3.121 0.001834 ** 
## D.npnct09.log                                   2.380 0.017403 *  
## D.npnct10.log                                   0.935 0.349811    
## D.terms.n.stem.stop.Ratio                       0.902 0.367212    
## D.npnct28.log                                  -1.216 0.224145    
## cellular.fctr1                                  4.465 8.51e-06 ***
## cellular.fctrUnknown                               NA       NA    
## D.npnct14.log                                  -1.082 0.279545    
## .rnorm                                         -0.076 0.939254    
## D.npnct05.log                                  -0.521 0.602256    
## D.npnct08.log                                  -1.194 0.232816    
## D.npnct01.log                                   1.033 0.301514    
## D.ndgts.log                                    -0.408 0.683088    
## D.npnct12.log                                  -0.266 0.790499    
## D.npnct16.log                                   0.211 0.832838    
## D.npnct06.log                                  -0.249 0.803542    
## D.npnct15.log                                  -0.664 0.506735    
## D.npnct11.log                                  -1.330 0.183804    
## D.npnct03.log                                   0.715 0.474846    
## storage.fctr16                                -16.799  < 2e-16 ***
## storage.fctr32                                -13.931  < 2e-16 ***
## storage.fctr64                                -10.721  < 2e-16 ***
## storage.fctrUnknown                           -10.958  < 2e-16 ***
## D.npnct13.log                                  -0.929 0.353207    
## D.terms.n.post.stem                             1.042 0.297572    
## D.terms.n.post.stop                            -1.045 0.296126    
## D.ratio.sum.TfIdf.nwrds                        -1.060 0.289101    
## D.nstopwrds.log                                -1.498 0.134204    
## D.nwrds.unq.log                                -0.910 0.363152    
## D.terms.n.post.stem.log                            NA       NA    
## D.terms.n.post.stop.log                         0.909 0.363212    
## D.nwrds.log                                     1.100 0.271517    
## D.nchrs.log                                     1.160 0.246155    
## D.nuppr.log                                    -1.174 0.240695    
## D.npnct24.log                                  -0.380 0.704322    
## D.TfIdf.sum.post.stem                          -0.595 0.552023    
## D.sum.TfIdf                                        NA       NA    
## D.TfIdf.sum.post.stop                           0.614 0.539281    
## biddable                                      -22.963  < 2e-16 ***
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.122 0.033976 *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.434 0.664076    
## `prdline.my.fctriPad 2:.clusterid.fctr2`       -0.163 0.870639    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       1.115 0.265000    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -2.133 0.033075 *  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.521 0.602264    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.317 0.188031    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.179 0.858012    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.498 0.618291    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.769 0.441883    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.381 0.703334    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.633 0.526984    
## `prdline.my.fctriPadmini:.clusterid.fctr3`     -0.111 0.911447    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.271 0.786387    
## `prdline.my.fctrUnknown:.clusterid.fctr4`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        1.145 0.252386    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -0.986 0.324393    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.377 0.706272    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.510 0.609816    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.241 0.809349    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`      NA       NA    
## `prdline.my.fctrUnknown:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr5`           NA       NA    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.444 0.656781    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadAir:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.176 0.239703    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 100.1 on 1778 degrees of freedom
## Multiple R-squared:  0.6699, Adjusted R-squared:  0.655 
## F-statistic:  45.1 on 80 and 1778 DF,  p-value: < 2.2e-16
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading

##   model_id model_method
## 1 All.X.lm           lm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.196                 0.063
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Adj.R.sq.fit
## 1    0.6699012     102.1968    0.5509504     116.1134        0.6550486
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6397998       5.770372         0.04332778
##              label step_major step_minor     bgn     end elapsed
## 2  fit.models_1_lm          2          0 116.780 119.906   3.126
## 3 fit.models_1_glm          3          0 119.906      NA      NA
## [1] "fitting model: All.X.glm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## NULL
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -446.08   -49.34    -2.18    51.80   754.43  
## 
## Coefficients: (10 not defined because of singularities)
##                                                 Estimate Std. Error
## (Intercept)                                   -5.206e+04  5.763e+04
## `prdline.my.fctriPad 1`                       -7.604e+01  1.434e+01
## `prdline.my.fctriPad 2`                       -1.869e+01  1.393e+01
## `prdline.my.fctriPad 3+`                       2.989e+01  1.361e+01
## prdline.my.fctriPadAir                         1.241e+02  1.334e+01
## prdline.my.fctriPadmini                        4.250e+00  1.345e+01
## `prdline.my.fctriPadmini 2+`                   6.139e+01  1.399e+01
## `condition.fctrFor parts or not working`      -9.200e+01  9.827e+00
## `condition.fctrManufacturer refurbished`       2.488e+01  1.692e+01
## condition.fctrNew                              8.703e+01  8.223e+00
## `condition.fctrNew other (see details)`        5.694e+01  1.217e+01
## `condition.fctrSeller refurbished`            -1.400e+01  1.074e+01
## color.fctrBlack                               -7.856e+00  6.711e+00
## color.fctrGold                                 5.268e+01  1.333e+01
## `color.fctrSpace Gray`                         9.689e+00  8.749e+00
## color.fctrWhite                                8.957e+00  6.500e+00
## D.TfIdf.sum.stem.stop.Ratio                    3.272e+02  4.590e+02
## D.ratio.nstopwrds.nwrds                        1.527e+02  1.655e+02
## idseq.my                                       2.802e-02  5.403e-03
## `carrier.fctrAT&T`                            -5.172e+01  1.716e+01
## carrier.fctrOther                             -5.124e+01  6.248e+01
## carrier.fctrSprint                            -8.336e+01  2.416e+01
## `carrier.fctrT-Mobile`                        -5.587e+01  2.840e+01
## carrier.fctrUnknown                           -1.898e+01  1.229e+01
## carrier.fctrVerizon                           -5.564e+01  1.783e+01
## D.npnct09.log                                  8.171e+01  3.433e+01
## D.npnct10.log                                  4.878e+01  5.216e+01
## D.terms.n.stem.stop.Ratio                      5.196e+04  5.761e+04
## D.npnct28.log                                 -6.178e+01  5.081e+01
## cellular.fctr1                                 6.894e+01  1.544e+01
## cellular.fctrUnknown                                  NA         NA
## D.npnct14.log                                 -2.069e+01  1.913e+01
## .rnorm                                        -1.833e-01  2.405e+00
## D.npnct05.log                                 -1.793e+01  3.440e+01
## D.npnct08.log                                 -2.128e+01  1.783e+01
## D.npnct01.log                                  1.603e+01  1.551e+01
## D.ndgts.log                                   -4.986e+00  1.221e+01
## D.npnct12.log                                 -4.389e+00  1.652e+01
## D.npnct16.log                                  1.061e+01  5.028e+01
## D.npnct06.log                                 -1.360e+01  5.466e+01
## D.npnct15.log                                 -1.979e+01  2.980e+01
## D.npnct11.log                                 -1.227e+01  9.228e+00
## D.npnct03.log                                  2.942e+01  4.117e+01
## storage.fctr16                                -2.032e+02  1.210e+01
## storage.fctr32                                -1.811e+02  1.300e+01
## storage.fctr64                                -1.356e+02  1.265e+01
## storage.fctrUnknown                           -1.927e+02  1.758e+01
## D.npnct13.log                                 -8.650e+00  9.315e+00
## D.terms.n.post.stem                            3.967e+02  3.807e+02
## D.terms.n.post.stop                           -3.970e+02  3.799e+02
## D.ratio.sum.TfIdf.nwrds                       -1.101e+01  1.038e+01
## D.nstopwrds.log                               -7.249e+01  4.838e+01
## D.nwrds.unq.log                               -5.858e+04  6.441e+04
## D.terms.n.post.stem.log                               NA         NA
## D.terms.n.post.stop.log                        5.857e+04  6.440e+04
## D.nwrds.log                                    7.454e+01  6.777e+01
## D.nchrs.log                                    8.086e+01  6.970e+01
## D.nuppr.log                                   -6.149e+01  5.239e+01
## D.npnct24.log                                 -5.152e+01  1.357e+02
## D.TfIdf.sum.post.stem                         -4.248e+01  7.142e+01
## D.sum.TfIdf                                           NA         NA
## D.TfIdf.sum.post.stop                          4.207e+01  6.852e+01
## biddable                                      -1.182e+02  5.146e+00
## `prdline.my.fctrUnknown:.clusterid.fctr2`      4.163e+01  1.962e+01
## `prdline.my.fctriPad 1:.clusterid.fctr2`      -9.915e+00  2.283e+01
## `prdline.my.fctriPad 2:.clusterid.fctr2`      -2.758e+00  1.693e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr2`      2.081e+01  1.867e+01
## `prdline.my.fctriPadAir:.clusterid.fctr2`     -3.887e+01  1.823e+01
## `prdline.my.fctriPadmini:.clusterid.fctr2`     1.139e+01  2.185e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`  3.219e+01  2.444e+01
## `prdline.my.fctrUnknown:.clusterid.fctr3`     -4.775e+00  2.668e+01
## `prdline.my.fctriPad 1:.clusterid.fctr3`       1.181e+01  2.371e+01
## `prdline.my.fctriPad 2:.clusterid.fctr3`       2.042e+01  2.655e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr3`      7.564e+00  1.986e+01
## `prdline.my.fctriPadAir:.clusterid.fctr3`     -1.469e+01  2.322e+01
## `prdline.my.fctriPadmini:.clusterid.fctr3`    -2.496e+00  2.244e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3` -7.202e+00  2.657e+01
## `prdline.my.fctrUnknown:.clusterid.fctr4`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`       2.958e+01  2.583e+01
## `prdline.my.fctriPad 2:.clusterid.fctr4`      -2.777e+01  2.817e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr4`      8.021e+00  2.128e+01
## `prdline.my.fctriPadAir:.clusterid.fctr4`     -1.263e+01  2.475e+01
## `prdline.my.fctriPadmini:.clusterid.fctr4`    -6.076e+00  2.518e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`         NA         NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`              NA         NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`       1.372e+01  3.086e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`     3.887e+01  3.305e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`         NA         NA
##                                               t value Pr(>|t|)    
## (Intercept)                                    -0.903 0.366429    
## `prdline.my.fctriPad 1`                        -5.303 1.28e-07 ***
## `prdline.my.fctriPad 2`                        -1.341 0.180117    
## `prdline.my.fctriPad 3+`                        2.196 0.028212 *  
## prdline.my.fctriPadAir                          9.297  < 2e-16 ***
## prdline.my.fctriPadmini                         0.316 0.751990    
## `prdline.my.fctriPadmini 2+`                    4.389 1.21e-05 ***
## `condition.fctrFor parts or not working`       -9.362  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        1.471 0.141586    
## condition.fctrNew                              10.583  < 2e-16 ***
## `condition.fctrNew other (see details)`         4.678 3.11e-06 ***
## `condition.fctrSeller refurbished`             -1.303 0.192615    
## color.fctrBlack                                -1.171 0.241895    
## color.fctrGold                                  3.953 8.02e-05 ***
## `color.fctrSpace Gray`                          1.107 0.268240    
## color.fctrWhite                                 1.378 0.168349    
## D.TfIdf.sum.stem.stop.Ratio                     0.713 0.476008    
## D.ratio.nstopwrds.nwrds                         0.923 0.356350    
## idseq.my                                        5.186 2.40e-07 ***
## `carrier.fctrAT&T`                             -3.014 0.002613 ** 
## carrier.fctrOther                              -0.820 0.412275    
## carrier.fctrSprint                             -3.450 0.000574 ***
## `carrier.fctrT-Mobile`                         -1.968 0.049263 *  
## carrier.fctrUnknown                            -1.545 0.122630    
## carrier.fctrVerizon                            -3.121 0.001834 ** 
## D.npnct09.log                                   2.380 0.017403 *  
## D.npnct10.log                                   0.935 0.349811    
## D.terms.n.stem.stop.Ratio                       0.902 0.367212    
## D.npnct28.log                                  -1.216 0.224145    
## cellular.fctr1                                  4.465 8.51e-06 ***
## cellular.fctrUnknown                               NA       NA    
## D.npnct14.log                                  -1.082 0.279545    
## .rnorm                                         -0.076 0.939254    
## D.npnct05.log                                  -0.521 0.602256    
## D.npnct08.log                                  -1.194 0.232816    
## D.npnct01.log                                   1.033 0.301514    
## D.ndgts.log                                    -0.408 0.683088    
## D.npnct12.log                                  -0.266 0.790499    
## D.npnct16.log                                   0.211 0.832838    
## D.npnct06.log                                  -0.249 0.803542    
## D.npnct15.log                                  -0.664 0.506735    
## D.npnct11.log                                  -1.330 0.183804    
## D.npnct03.log                                   0.715 0.474846    
## storage.fctr16                                -16.799  < 2e-16 ***
## storage.fctr32                                -13.931  < 2e-16 ***
## storage.fctr64                                -10.721  < 2e-16 ***
## storage.fctrUnknown                           -10.958  < 2e-16 ***
## D.npnct13.log                                  -0.929 0.353207    
## D.terms.n.post.stem                             1.042 0.297572    
## D.terms.n.post.stop                            -1.045 0.296126    
## D.ratio.sum.TfIdf.nwrds                        -1.060 0.289101    
## D.nstopwrds.log                                -1.498 0.134204    
## D.nwrds.unq.log                                -0.910 0.363152    
## D.terms.n.post.stem.log                            NA       NA    
## D.terms.n.post.stop.log                         0.909 0.363212    
## D.nwrds.log                                     1.100 0.271517    
## D.nchrs.log                                     1.160 0.246155    
## D.nuppr.log                                    -1.174 0.240695    
## D.npnct24.log                                  -0.380 0.704322    
## D.TfIdf.sum.post.stem                          -0.595 0.552023    
## D.sum.TfIdf                                        NA       NA    
## D.TfIdf.sum.post.stop                           0.614 0.539281    
## biddable                                      -22.963  < 2e-16 ***
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.122 0.033976 *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.434 0.664076    
## `prdline.my.fctriPad 2:.clusterid.fctr2`       -0.163 0.870639    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       1.115 0.265000    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -2.133 0.033075 *  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.521 0.602264    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.317 0.188031    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.179 0.858012    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.498 0.618291    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.769 0.441883    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.381 0.703334    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.633 0.526984    
## `prdline.my.fctriPadmini:.clusterid.fctr3`     -0.111 0.911447    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.271 0.786387    
## `prdline.my.fctrUnknown:.clusterid.fctr4`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        1.145 0.252386    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -0.986 0.324393    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.377 0.706272    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.510 0.609816    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.241 0.809349    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`      NA       NA    
## `prdline.my.fctrUnknown:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr5`           NA       NA    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.444 0.656781    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadAir:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.176 0.239703    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 10015.99)
## 
##     Null deviance: 53948796  on 1858  degrees of freedom
## Residual deviance: 17808435  on 1778  degrees of freedom
## AIC: 22482
## 
## Number of Fisher Scoring iterations: 2
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
##    model_id model_method
## 1 All.X.glm          glm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.302                 0.102
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB min.aic.fit
## 1    0.6699012     102.1968    0.5509504     116.1134    22481.79
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6397998       5.770372         0.04332778
##                   label step_major step_minor     bgn     end elapsed
## 3      fit.models_1_glm          3          0 119.906 123.215   3.309
## 4 fit.models_1_bayesglm          4          0 123.215      NA      NA
## [1] "fitting model: All.X.bayesglm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Loading required package: arm
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
## 
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## 
## The following object is masked from 'package:tidyr':
## 
##     expand
## 
## Loading required package: lme4
## 
## Attaching package: 'lme4'
## 
## The following object is masked from 'package:nlme':
## 
##     lmList
## 
## 
## arm (Version 1.8-6, built: 2015-7-7)
## 
## Working directory is /Users/bbalaji-2012/Documents/Work/Courses/MIT/Analytics_Edge_15_071x/Assignments/Kaggle_eBay_iPads
## Aggregating results
## Fitting final model on full training set
## 
## Call:
## NULL
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -445.97   -48.79    -2.13    52.16   754.21  
## 
## Coefficients:
##                                                 Estimate Std. Error
## (Intercept)                                    1.902e+02  6.944e+02
## `prdline.my.fctriPad 1`                       -7.618e+01  1.437e+01
## `prdline.my.fctriPad 2`                       -1.876e+01  1.396e+01
## `prdline.my.fctriPad 3+`                       2.998e+01  1.363e+01
## prdline.my.fctriPadAir                         1.241e+02  1.337e+01
## prdline.my.fctriPadmini                        4.255e+00  1.347e+01
## `prdline.my.fctriPadmini 2+`                   6.153e+01  1.402e+01
## `condition.fctrFor parts or not working`      -9.211e+01  9.854e+00
## `condition.fctrManufacturer refurbished`       2.525e+01  1.696e+01
## condition.fctrNew                              8.700e+01  8.246e+00
## `condition.fctrNew other (see details)`        5.656e+01  1.219e+01
## `condition.fctrSeller refurbished`            -1.425e+01  1.075e+01
## color.fctrBlack                               -7.690e+00  6.729e+00
## color.fctrGold                                 5.277e+01  1.336e+01
## `color.fctrSpace Gray`                         9.790e+00  8.769e+00
## color.fctrWhite                                8.778e+00  6.504e+00
## D.TfIdf.sum.stem.stop.Ratio                    2.166e+02  3.787e+02
## D.ratio.nstopwrds.nwrds                        1.400e+02  1.585e+02
## idseq.my                                       2.812e-02  5.418e-03
## `carrier.fctrAT&T`                            -3.280e+00  2.212e+02
## carrier.fctrOther                             -3.970e+00  2.272e+02
## carrier.fctrSprint                            -3.455e+01  2.217e+02
## `carrier.fctrT-Mobile`                        -7.817e+00  2.220e+02
## carrier.fctrUnknown                            2.947e+01  2.212e+02
## carrier.fctrVerizon                           -7.822e+00  2.212e+02
## D.npnct09.log                                  8.148e+01  3.429e+01
## D.npnct10.log                                  4.879e+01  5.212e+01
## D.terms.n.stem.stop.Ratio                     -1.654e+02  5.686e+02
## D.npnct28.log                                 -6.170e+01  5.071e+01
## cellular.fctr1                                 2.044e+01  2.211e+02
## cellular.fctrUnknown                          -4.851e+01  2.214e+02
## D.npnct14.log                                 -1.979e+01  1.912e+01
## .rnorm                                        -2.009e-01  2.412e+00
## D.npnct05.log                                 -1.615e+01  3.429e+01
## D.npnct08.log                                 -2.086e+01  1.787e+01
## D.npnct01.log                                  1.582e+01  1.554e+01
## D.ndgts.log                                   -4.738e+00  1.217e+01
## D.npnct12.log                                 -3.241e+00  1.652e+01
## D.npnct16.log                                  1.009e+01  5.006e+01
## D.npnct06.log                                 -1.504e+01  5.441e+01
## D.npnct15.log                                 -2.028e+01  2.982e+01
## D.npnct11.log                                 -1.302e+01  9.211e+00
## D.npnct03.log                                  3.115e+01  4.109e+01
## storage.fctr16                                -2.024e+02  1.211e+01
## storage.fctr32                                -1.802e+02  1.301e+01
## storage.fctr64                                -1.348e+02  1.267e+01
## storage.fctrUnknown                           -1.916e+02  1.761e+01
## D.npnct13.log                                 -9.086e+00  9.307e+00
## D.terms.n.post.stem                            4.006e+01  6.326e+01
## D.terms.n.post.stop                           -4.083e+01  6.258e+01
## D.ratio.sum.TfIdf.nwrds                       -1.136e+01  1.026e+01
## D.nstopwrds.log                               -6.637e+01  4.665e+01
## D.nwrds.unq.log                               -5.363e+01  5.796e+02
## D.terms.n.post.stem.log                       -5.363e+01  5.796e+02
## D.terms.n.post.stop.log                        9.434e+01  5.243e+02
## D.nwrds.log                                    6.789e+01  6.650e+01
## D.nchrs.log                                    7.954e+01  6.899e+01
## D.nuppr.log                                   -5.994e+01  5.197e+01
## D.npnct24.log                                 -6.086e+01  1.308e+02
## D.TfIdf.sum.post.stem                         -1.241e+01  4.948e+02
## D.sum.TfIdf                                   -1.241e+01  4.948e+02
## D.TfIdf.sum.post.stop                          2.515e+01  5.691e+01
## biddable                                      -1.180e+02  5.158e+00
## `prdline.my.fctrUnknown:.clusterid.fctr2`      4.195e+01  1.964e+01
## `prdline.my.fctriPad 1:.clusterid.fctr2`      -9.409e+00  2.286e+01
## `prdline.my.fctriPad 2:.clusterid.fctr2`      -2.349e+00  1.693e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr2`      2.129e+01  1.869e+01
## `prdline.my.fctriPadAir:.clusterid.fctr2`     -3.899e+01  1.825e+01
## `prdline.my.fctriPadmini:.clusterid.fctr2`     1.086e+01  2.188e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`  3.369e+01  2.440e+01
## `prdline.my.fctrUnknown:.clusterid.fctr3`     -4.793e+00  2.671e+01
## `prdline.my.fctriPad 1:.clusterid.fctr3`       1.327e+01  2.370e+01
## `prdline.my.fctriPad 2:.clusterid.fctr3`       1.922e+01  2.653e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr3`      8.455e+00  1.986e+01
## `prdline.my.fctriPadAir:.clusterid.fctr3`     -1.299e+01  2.320e+01
## `prdline.my.fctriPadmini:.clusterid.fctr3`    -2.703e+00  2.248e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3` -8.022e+00  2.660e+01
## `prdline.my.fctrUnknown:.clusterid.fctr4`      0.000e+00  8.549e+02
## `prdline.my.fctriPad 1:.clusterid.fctr4`       2.989e+01  2.587e+01
## `prdline.my.fctriPad 2:.clusterid.fctr4`      -2.693e+01  2.817e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr4`      9.171e+00  2.130e+01
## `prdline.my.fctriPadAir:.clusterid.fctr4`     -1.126e+01  2.473e+01
## `prdline.my.fctriPadmini:.clusterid.fctr4`    -5.502e+00  2.520e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`  0.000e+00  8.549e+02
## `prdline.my.fctrUnknown:.clusterid.fctr5`      0.000e+00  8.549e+02
## `prdline.my.fctriPad 1:.clusterid.fctr5`       0.000e+00  8.549e+02
## `prdline.my.fctriPad 2:.clusterid.fctr5`       1.413e+01  3.087e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr5`      0.000e+00  8.549e+02
## `prdline.my.fctriPadAir:.clusterid.fctr5`      0.000e+00  8.549e+02
## `prdline.my.fctriPadmini:.clusterid.fctr5`     4.046e+01  3.304e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`  0.000e+00  8.549e+02
##                                               t value Pr(>|t|)    
## (Intercept)                                     0.274   0.7842    
## `prdline.my.fctriPad 1`                        -5.302 1.29e-07 ***
## `prdline.my.fctriPad 2`                        -1.344   0.1792    
## `prdline.my.fctriPad 3+`                        2.200   0.0280 *  
## prdline.my.fctriPadAir                          9.286  < 2e-16 ***
## prdline.my.fctriPadmini                         0.316   0.7522    
## `prdline.my.fctriPadmini 2+`                    4.390 1.20e-05 ***
## `condition.fctrFor parts or not working`       -9.347  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        1.489   0.1367    
## condition.fctrNew                              10.550  < 2e-16 ***
## `condition.fctrNew other (see details)`         4.639 3.76e-06 ***
## `condition.fctrSeller refurbished`             -1.326   0.1851    
## color.fctrBlack                                -1.143   0.2533    
## color.fctrGold                                  3.950 8.13e-05 ***
## `color.fctrSpace Gray`                          1.116   0.2644    
## color.fctrWhite                                 1.350   0.1773    
## D.TfIdf.sum.stem.stop.Ratio                     0.572   0.5673    
## D.ratio.nstopwrds.nwrds                         0.883   0.3773    
## idseq.my                                        5.191 2.34e-07 ***
## `carrier.fctrAT&T`                             -0.015   0.9882    
## carrier.fctrOther                              -0.017   0.9861    
## carrier.fctrSprint                             -0.156   0.8762    
## `carrier.fctrT-Mobile`                         -0.035   0.9719    
## carrier.fctrUnknown                             0.133   0.8940    
## carrier.fctrVerizon                            -0.035   0.9718    
## D.npnct09.log                                   2.376   0.0176 *  
## D.npnct10.log                                   0.936   0.3493    
## D.terms.n.stem.stop.Ratio                      -0.291   0.7712    
## D.npnct28.log                                  -1.217   0.2238    
## cellular.fctr1                                  0.092   0.9264    
## cellular.fctrUnknown                           -0.219   0.8266    
## D.npnct14.log                                  -1.035   0.3009    
## .rnorm                                         -0.083   0.9337    
## D.npnct05.log                                  -0.471   0.6378    
## D.npnct08.log                                  -1.167   0.2432    
## D.npnct01.log                                   1.018   0.3089    
## D.ndgts.log                                    -0.389   0.6972    
## D.npnct12.log                                  -0.196   0.8445    
## D.npnct16.log                                   0.202   0.8403    
## D.npnct06.log                                  -0.276   0.7823    
## D.npnct15.log                                  -0.680   0.4964    
## D.npnct11.log                                  -1.413   0.1578    
## D.npnct03.log                                   0.758   0.4486    
## storage.fctr16                                -16.713  < 2e-16 ***
## storage.fctr32                                -13.844  < 2e-16 ***
## storage.fctr64                                -10.645  < 2e-16 ***
## storage.fctrUnknown                           -10.883  < 2e-16 ***
## D.npnct13.log                                  -0.976   0.3290    
## D.terms.n.post.stem                             0.633   0.5267    
## D.terms.n.post.stop                            -0.652   0.5142    
## D.ratio.sum.TfIdf.nwrds                        -1.107   0.2686    
## D.nstopwrds.log                                -1.423   0.1550    
## D.nwrds.unq.log                                -0.093   0.9263    
## D.terms.n.post.stem.log                        -0.093   0.9263    
## D.terms.n.post.stop.log                         0.180   0.8572    
## D.nwrds.log                                     1.021   0.3075    
## D.nchrs.log                                     1.153   0.2491    
## D.nuppr.log                                    -1.153   0.2490    
## D.npnct24.log                                  -0.465   0.6418    
## D.TfIdf.sum.post.stem                          -0.025   0.9800    
## D.sum.TfIdf                                    -0.025   0.9800    
## D.TfIdf.sum.post.stop                           0.442   0.6586    
## biddable                                      -22.881  < 2e-16 ***
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.136   0.0328 *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.412   0.6807    
## `prdline.my.fctriPad 2:.clusterid.fctr2`       -0.139   0.8897    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       1.139   0.2549    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -2.136   0.0328 *  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.496   0.6198    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.381   0.1676    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.179   0.8576    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.560   0.5756    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.724   0.4690    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.426   0.6703    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.560   0.5758    
## `prdline.my.fctriPadmini:.clusterid.fctr3`     -0.120   0.9043    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.302   0.7630    
## `prdline.my.fctrUnknown:.clusterid.fctr4`       0.000   1.0000    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        1.156   0.2480    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -0.956   0.3393    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.431   0.6668    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.456   0.6488    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.218   0.8272    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`   0.000   1.0000    
## `prdline.my.fctrUnknown:.clusterid.fctr5`       0.000   1.0000    
## `prdline.my.fctriPad 1:.clusterid.fctr5`        0.000   1.0000    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.458   0.6472    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`       0.000   1.0000    
## `prdline.my.fctriPadAir:.clusterid.fctr5`       0.000   1.0000    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.224   0.2210    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`   0.000   1.0000    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 10077.96)
## 
##     Null deviance: 53948796  on 1858  degrees of freedom
## Residual deviance: 17817836  on 1768  degrees of freedom
## AIC: 22503
## 
## Number of Fisher Scoring iterations: 12
## 
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##         model_id model_method
## 1 All.X.bayesglm     bayesglm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      2.998                 0.745
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB min.aic.fit
## 1    0.6697269      102.131    0.5514322     116.0511    22502.77
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6402516       5.646925         0.04237281
##                   label step_major step_minor     bgn     end elapsed
## 4 fit.models_1_bayesglm          4          0 123.215 127.357   4.142
## 5   fit.models_1_glmnet          5          0 127.358      NA      NA
## [1] "fitting model: All.X.glmnet"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Loading required package: glmnet
## Loaded glmnet 2.0-2

## Aggregating results
## Selecting tuning parameters
## Fitting alpha = 0.55, lambda = 1.55 on full training set

##             Length Class      Mode     
## a0            94   -none-     numeric  
## beta        8460   dgCMatrix  S4       
## df            94   -none-     numeric  
## dim            2   -none-     numeric  
## lambda        94   -none-     numeric  
## dev.ratio     94   -none-     numeric  
## nulldev        1   -none-     numeric  
## npasses        1   -none-     numeric  
## jerr           1   -none-     numeric  
## offset         1   -none-     logical  
## call           5   -none-     call     
## nobs           1   -none-     numeric  
## lambdaOpt      1   -none-     numeric  
## xNames        90   -none-     character
## problemType    1   -none-     character
## tuneValue      2   data.frame list     
## obsLevels      1   -none-     logical  
## [1] "min lambda > lambdaOpt:"
##                                 (Intercept) 
##                                294.78257637 
##                       prdline.my.fctriPad 1 
##                                -76.71045424 
##                       prdline.my.fctriPad 2 
##                                -23.64322090 
##                      prdline.my.fctriPad 3+ 
##                                 24.95136901 
##                      prdline.my.fctriPadAir 
##                                119.79418098 
##                  prdline.my.fctriPadmini 2+ 
##                                 57.44456493 
##      condition.fctrFor parts or not working 
##                                -88.58209077 
##      condition.fctrManufacturer refurbished 
##                                 20.69027409 
##                           condition.fctrNew 
##                                 90.44265248 
##       condition.fctrNew other (see details) 
##                                 55.84012240 
##            condition.fctrSeller refurbished 
##                                 -9.35222586 
##                             color.fctrBlack 
##                                 -7.46170465 
##                              color.fctrGold 
##                                 50.76406013 
##                        color.fctrSpace Gray 
##                                  6.39766654 
##                             color.fctrWhite 
##                                  6.80464281 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                 25.43746154 
##                                    idseq.my 
##                                  0.02633208 
##                          carrier.fctrSprint 
##                                -16.90344697 
##                         carrier.fctrUnknown 
##                                 30.88068200 
##                               D.npnct09.log 
##                                 71.33981931 
##                               D.npnct10.log 
##                                 32.00751631 
##                   D.terms.n.stem.stop.Ratio 
##                                 27.42161833 
##                               D.npnct28.log 
##                                -31.23070785 
##                              cellular.fctr1 
##                                 14.88145023 
##                        cellular.fctrUnknown 
##                                -49.84674880 
##                               D.npnct14.log 
##                                 -6.44241930 
##                               D.npnct05.log 
##                                -11.72906659 
##                               D.npnct08.log 
##                                 -6.83561783 
##                               D.npnct01.log 
##                                 13.77599628 
##                               D.npnct15.log 
##                                 -8.60514295 
##                               D.npnct11.log 
##                                 -7.59188211 
##                               D.npnct03.log 
##                                 21.92795604 
##                              storage.fctr16 
##                               -162.98155887 
##                              storage.fctr32 
##                               -138.23288130 
##                              storage.fctr64 
##                                -94.74980540 
##                         storage.fctrUnknown 
##                               -151.03929961 
##                               D.npnct13.log 
##                                 -2.99822888 
##                     D.ratio.sum.TfIdf.nwrds 
##                                -12.14704821 
##                                    biddable 
##                               -116.86488285 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                 26.62965681 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                                -10.22155294 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                                 -2.72772819 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                 14.53079907 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                                -31.90398968 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                  0.88956465 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                 27.16155447 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                                 -5.97461085 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                                 -1.17994114 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                                 -0.66788627 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                 11.38256051 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                                -22.79555224 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                  2.82723340 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                 25.38093863 
## [1] "max lambda < lambdaOpt:"
##                                 (Intercept) 
##                                1.998775e+02 
##                       prdline.my.fctriPad 1 
##                               -7.644313e+01 
##                       prdline.my.fctriPad 2 
##                               -1.999249e+01 
##                      prdline.my.fctriPad 3+ 
##                                2.914958e+01 
##                      prdline.my.fctriPadAir 
##                                1.234229e+02 
##                     prdline.my.fctriPadmini 
##                                3.465888e+00 
##                  prdline.my.fctriPadmini 2+ 
##                                6.086067e+01 
##      condition.fctrFor parts or not working 
##                               -9.227346e+01 
##      condition.fctrManufacturer refurbished 
##                                2.554944e+01 
##                           condition.fctrNew 
##                                8.687130e+01 
##       condition.fctrNew other (see details) 
##                                5.599857e+01 
##            condition.fctrSeller refurbished 
##                               -1.402468e+01 
##                             color.fctrBlack 
##                               -7.412825e+00 
##                              color.fctrGold 
##                                5.278243e+01 
##                        color.fctrSpace Gray 
##                                1.063730e+01 
##                             color.fctrWhite 
##                                9.549012e+00 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                6.591341e+01 
##                     D.ratio.nstopwrds.nwrds 
##                                2.869129e+01 
##                                    idseq.my 
##                                2.824860e-02 
##                           carrier.fctrOther 
##                               -9.326523e+00 
##                          carrier.fctrSprint 
##                               -3.086106e+01 
##                        carrier.fctrT-Mobile 
##                               -4.973113e+00 
##                         carrier.fctrUnknown 
##                                3.307679e+01 
##                         carrier.fctrVerizon 
##                               -4.757925e+00 
##                               D.npnct09.log 
##                                9.151029e+01 
##                               D.npnct10.log 
##                                5.383163e+01 
##                   D.terms.n.stem.stop.Ratio 
##                                8.575788e+01 
##                               D.npnct28.log 
##                               -6.770364e+01 
##                              cellular.fctr1 
##                                1.701378e+01 
##                        cellular.fctrUnknown 
##                               -5.221195e+01 
##                               D.npnct14.log 
##                               -1.732644e+01 
##                                      .rnorm 
##                               -2.606380e-01 
##                               D.npnct05.log 
##                               -1.292165e+01 
##                               D.npnct08.log 
##                               -1.823787e+01 
##                               D.npnct01.log 
##                                1.689144e+01 
##                                 D.ndgts.log 
##                               -1.668628e+00 
##                               D.npnct12.log 
##                                2.053090e+00 
##                               D.npnct16.log 
##                                1.070520e+01 
##                               D.npnct06.log 
##                               -1.535096e+01 
##                               D.npnct15.log 
##                               -2.019071e+01 
##                               D.npnct11.log 
##                               -1.121243e+01 
##                               D.npnct03.log 
##                                3.598661e+01 
##                              storage.fctr16 
##                               -2.008292e+02 
##                              storage.fctr32 
##                               -1.783456e+02 
##                              storage.fctr64 
##                               -1.335379e+02 
##                         storage.fctrUnknown 
##                               -1.901398e+02 
##                               D.npnct13.log 
##                               -7.450029e+00 
##                         D.terms.n.post.stop 
##                               -1.798417e+00 
##                     D.ratio.sum.TfIdf.nwrds 
##                               -1.186745e+01 
##                             D.nstopwrds.log 
##                               -2.528831e+01 
##                             D.nwrds.unq.log 
##                               -2.345913e+00 
##                     D.terms.n.post.stem.log 
##                               -1.005925e-02 
##                     D.terms.n.post.stop.log 
##                               -1.337724e-03 
##                                 D.nwrds.log 
##                                4.736143e+01 
##                                 D.nchrs.log 
##                                3.200722e+00 
##                                 D.nuppr.log 
##                               -7.287495e+00 
##                               D.npnct24.log 
##                               -5.018553e+01 
##                       D.TfIdf.sum.post.stop 
##                                1.644332e+00 
##                                    biddable 
##                               -1.180910e+02 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                4.104686e+01 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                               -8.957112e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                               -1.877347e+00 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                2.133655e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                               -3.824864e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                1.142155e+01 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                3.398284e+01 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                               -4.613406e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr3 
##                                1.277467e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr3 
##                                1.452679e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr3 
##                                8.868811e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                               -1.113572e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr3 
##                               -2.720336e+00 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                               -7.412104e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                2.954268e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                               -2.510686e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                1.131957e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr4 
##                               -1.209120e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr4 
##                               -5.445225e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr5 
##                                1.254241e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                4.135022e+01 
## character(0)
## character(0)
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##       model_id model_method
## 1 All.X.glmnet       glmnet
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               9                      1.457                  0.04
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.6647981     101.8988    0.5586711     115.1109        0.6414783
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       5.733788         0.04264401
##                 label step_major step_minor     bgn     end elapsed
## 5 fit.models_1_glmnet          5          0 127.358 130.689   3.331
## 6  fit.models_1_rpart          6          0 130.690      NA      NA
## [1] "fitting model: All.X.no.rnorm.rpart"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info =
## trainInfo, : There were missing values in resampled performance measures.

## Aggregating results
## Selecting tuning parameters
## Fitting cp = 0.052 on full training set
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: cp

## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7, 
##     cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, 
##     surrogatestyle = 0, maxdepth = 30, xval = 0))
##   n= 1859 
## 
##           CP nsplit rel error
## 1 0.20823484      0 1.0000000
## 2 0.15083018      1 0.7917652
## 3 0.05203829      2 0.6409350
## 
## Variable importance
##                                biddable 
##                                      45 
##                  prdline.my.fctriPadAir 
##                                      33 
##                                idseq.my 
##                                       9 
## prdline.my.fctriPadAir:.clusterid.fctr2 
##                                       4 
## prdline.my.fctriPadAir:.clusterid.fctr3 
##                                       3 
## prdline.my.fctriPadAir:.clusterid.fctr4 
##                                       3 
##  condition.fctrFor parts or not working 
##                                       2 
##                          color.fctrGold 
##                                       1 
##                   prdline.my.fctriPad 1 
##                                       1 
##                           D.npnct03.log 
##                                       1 
## 
## Node number 1: 1859 observations,    complexity param=0.2082348
##   mean=211.3404, MSE=29020.33 
##   left son=2 (837 obs) right son=3 (1022 obs)
##   Primary splits:
##       biddable               < 0.5       to the right, improve=0.20823480, (0 missing)
##       prdline.my.fctriPadAir < 0.5       to the left,  improve=0.19258840, (0 missing)
##       condition.fctrNew      < 0.5       to the left,  improve=0.18855550, (0 missing)
##       prdline.my.fctriPad 1  < 0.5       to the right, improve=0.07643644, (0 missing)
##       color.fctrGold         < 0.5       to the left,  improve=0.07315212, (0 missing)
##   Surrogate splits:
##       idseq.my                               < 869.5     to the left,  agree=0.639, adj=0.197, (0 split)
##       condition.fctrFor parts or not working < 0.5       to the right, agree=0.567, adj=0.038, (0 split)
##       prdline.my.fctriPad 1                  < 0.5       to the right, agree=0.556, adj=0.013, (0 split)
##       D.npnct03.log                          < 0.3465736 to the right, agree=0.555, adj=0.012, (0 split)
##       D.npnct16.log                          < 0.8958797 to the right, agree=0.552, adj=0.006, (0 split)
## 
## Node number 2: 837 observations
##   mean=125.4409, MSE=18411.58 
## 
## Node number 3: 1022 observations,    complexity param=0.1508302
##   mean=281.6905, MSE=26716.52 
##   left son=6 (810 obs) right son=7 (212 obs)
##   Primary splits:
##       prdline.my.fctriPadAir                 < 0.5       to the left,  improve=0.29801570, (0 missing)
##       condition.fctrNew                      < 0.5       to the left,  improve=0.17632990, (0 missing)
##       prdline.my.fctriPad 1                  < 0.5       to the right, improve=0.11899300, (0 missing)
##       color.fctrGold                         < 0.5       to the left,  improve=0.09694246, (0 missing)
##       condition.fctrFor parts or not working < 0.5       to the right, improve=0.07350855, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPadAir:.clusterid.fctr2 < 0.5       to the left,  agree=0.819, adj=0.127, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr3 < 0.5       to the left,  agree=0.809, adj=0.080, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr4 < 0.5       to the left,  agree=0.809, adj=0.080, (0 split)
##       color.fctrGold                          < 0.5       to the left,  agree=0.800, adj=0.038, (0 split)
## 
## Node number 6: 810 observations
##   mean=236.0411, MSE=17881.31 
## 
## Node number 7: 212 observations
##   mean=456.1057, MSE=22091.13 
## 
## n= 1859 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
## 1) root 1859 53948800 211.3404  
##   2) biddable>=0.5 837 15410490 125.4409 *
##   3) biddable< 0.5 1022 27304290 281.6905  
##     6) prdline.my.fctriPadAir< 0.5 810 14483860 236.0411 *
##     7) prdline.my.fctriPadAir>=0.5 212  4683319 456.1057 *
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##               model_id model_method
## 1 All.X.no.rnorm.rpart        rpart
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               3                      1.821                 0.126
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1     0.359065     133.2986    0.3209143     142.7899        0.3897786
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       2.725981          0.0302287
##                label step_major step_minor     bgn     end elapsed
## 6 fit.models_1_rpart          6          0 130.690 134.755   4.065
## 7    fit.models_1_rf          7          0 134.756      NA      NA
## [1] "fitting model: All.X.no.rnorm.rf"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Loading required package: randomForest
## randomForest 4.6-10
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## 
## The following object is masked from 'package:dplyr':
## 
##     combine
## 
## The following object is masked from 'package:gdata':
## 
##     combine

## Aggregating results
## Selecting tuning parameters
## Fitting mtry = 45 on full training set

##                 Length Class      Mode     
## call               4   -none-     call     
## type               1   -none-     character
## predicted       1859   -none-     numeric  
## mse              500   -none-     numeric  
## rsq              500   -none-     numeric  
## oob.times       1859   -none-     numeric  
## importance        89   -none-     numeric  
## importanceSD       0   -none-     NULL     
## localImportance    0   -none-     NULL     
## proximity          0   -none-     NULL     
## ntree              1   -none-     numeric  
## mtry               1   -none-     numeric  
## forest            11   -none-     list     
## coefs              0   -none-     NULL     
## y               1859   -none-     numeric  
## test               0   -none-     NULL     
## inbag              0   -none-     NULL     
## xNames            89   -none-     character
## problemType        1   -none-     character
## tuneValue          1   data.frame list     
## obsLevels          1   -none-     logical  
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##            model_id model_method
## 1 All.X.no.rnorm.rf           rf
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               3                     68.482                24.206
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.9238644     97.56147    0.5474904     116.5649        0.6705374
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       8.181706          0.0568418
##             label step_major step_minor     bgn     end elapsed
## 7 fit.models_1_rf          7          0 134.756 206.054  71.298
## 8 fit.models_1_lm          8          0 206.054      NA      NA
## [1] "fitting model: All.Interact.X.lm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -389.35  -50.09   -3.80   45.59  754.10 
## 
## Coefficients: (10 not defined because of singularities)
##                                                 Estimate Std. Error
## (Intercept)                                   -5.750e+04  5.618e+04
## `prdline.my.fctriPad 1`                       -2.883e+01  2.727e+01
## `prdline.my.fctriPad 2`                        2.897e+01  2.692e+01
## `prdline.my.fctriPad 3+`                       1.284e+02  2.583e+01
## prdline.my.fctriPadAir                         2.559e+02  2.552e+01
## prdline.my.fctriPadmini                        6.048e+01  2.667e+01
## `prdline.my.fctriPadmini 2+`                   1.279e+02  2.834e+01
## `condition.fctrFor parts or not working`      -9.841e+01  9.781e+00
## `condition.fctrManufacturer refurbished`       1.517e+01  1.652e+01
## condition.fctrNew                              8.989e+01  8.025e+00
## `condition.fctrNew other (see details)`        6.111e+01  1.188e+01
## `condition.fctrSeller refurbished`            -1.427e+01  1.045e+01
## color.fctrBlack                               -8.218e+00  6.580e+00
## color.fctrGold                                 5.163e+01  1.299e+01
## `color.fctrSpace Gray`                         1.105e+01  8.518e+00
## color.fctrWhite                                8.655e+00  6.327e+00
## D.TfIdf.sum.stem.stop.Ratio                    4.864e+02  4.469e+02
## D.ratio.nstopwrds.nwrds                        2.248e+02  1.610e+02
## `carrier.fctrAT&T`                            -5.989e+01  1.680e+01
## carrier.fctrOther                             -3.318e+01  6.085e+01
## carrier.fctrSprint                            -8.881e+01  2.357e+01
## `carrier.fctrT-Mobile`                        -5.977e+01  2.765e+01
## carrier.fctrUnknown                           -2.413e+01  1.202e+01
## carrier.fctrVerizon                           -5.797e+01  1.746e+01
## D.npnct09.log                                  7.868e+01  3.336e+01
## D.npnct10.log                                  3.622e+01  5.084e+01
## D.terms.n.stem.stop.Ratio                      5.709e+04  5.616e+04
## D.npnct28.log                                 -5.850e+01  4.954e+01
## cellular.fctr1                                 7.524e+01  1.510e+01
## cellular.fctrUnknown                                  NA         NA
## D.npnct14.log                                 -1.420e+01  1.868e+01
## .rnorm                                         9.605e-01  2.342e+00
## D.npnct05.log                                 -3.691e+01  3.362e+01
## D.npnct08.log                                 -2.619e+01  1.737e+01
## D.npnct01.log                                  1.216e+01  1.512e+01
## D.ndgts.log                                    5.772e+00  1.193e+01
## D.npnct12.log                                 -1.126e+01  1.611e+01
## D.npnct16.log                                  1.428e+01  4.917e+01
## D.npnct06.log                                 -1.843e+01  5.342e+01
## D.npnct15.log                                 -7.809e-01  2.939e+01
## D.npnct11.log                                 -1.732e+01  8.993e+00
## D.npnct03.log                                 -1.552e-01  4.030e+01
## storage.fctr16                                -1.959e+02  1.178e+01
## storage.fctr32                                -1.717e+02  1.267e+01
## storage.fctr64                                -1.306e+02  1.230e+01
## storage.fctrUnknown                           -1.829e+02  1.717e+01
## D.npnct13.log                                 -1.271e+01  9.086e+00
## D.terms.n.post.stem                            4.132e+02  3.711e+02
## D.terms.n.post.stop                           -4.126e+02  3.703e+02
## D.ratio.sum.TfIdf.nwrds                       -1.328e+01  1.010e+01
## D.nstopwrds.log                               -7.958e+01  4.703e+01
## D.nwrds.unq.log                               -6.413e+04  6.279e+04
## D.terms.n.post.stem.log                               NA         NA
## D.terms.n.post.stop.log                        6.413e+04  6.278e+04
## D.nwrds.log                                    5.720e+01  6.615e+01
## D.nchrs.log                                    1.102e+02  6.788e+01
## D.nuppr.log                                   -8.942e+01  5.100e+01
## D.npnct24.log                                  2.064e+01  1.321e+02
## D.TfIdf.sum.post.stem                         -7.044e+01  6.958e+01
## D.sum.TfIdf                                           NA         NA
## D.TfIdf.sum.post.stop                          6.890e+01  6.677e+01
## biddable                                      -4.916e+01  1.467e+01
## idseq.my                                       6.922e-02  1.485e-02
## `prdline.my.fctriPad 1:biddable`              -6.944e+00  2.019e+01
## `prdline.my.fctriPad 2:biddable`              -4.327e+01  1.919e+01
## `prdline.my.fctriPad 3+:biddable`             -9.215e+01  1.887e+01
## `prdline.my.fctriPadAir:biddable`             -1.529e+02  1.825e+01
## `prdline.my.fctriPadmini:biddable`            -5.367e+01  1.883e+01
## `prdline.my.fctriPadmini 2+:biddable`         -7.166e+01  2.053e+01
## `prdline.my.fctriPad 1:idseq.my`              -4.357e-02  1.928e-02
## `prdline.my.fctriPad 2:idseq.my`              -2.269e-02  1.840e-02
## `prdline.my.fctriPad 3+:idseq.my`             -5.067e-02  1.777e-02
## `prdline.my.fctriPadAir:idseq.my`             -6.376e-02  1.794e-02
## `prdline.my.fctriPadmini:idseq.my`            -2.748e-02  1.833e-02
## `prdline.my.fctriPadmini 2+:idseq.my`         -3.064e-02  2.057e-02
## `prdline.my.fctrUnknown:.clusterid.fctr2`      5.108e+01  1.920e+01
## `prdline.my.fctriPad 1:.clusterid.fctr2`      -5.944e+00  2.220e+01
## `prdline.my.fctriPad 2:.clusterid.fctr2`       2.498e+00  1.665e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr2`      1.500e+01  1.828e+01
## `prdline.my.fctriPadAir:.clusterid.fctr2`     -3.079e+01  1.778e+01
## `prdline.my.fctriPadmini:.clusterid.fctr2`     1.171e+01  2.130e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`  3.451e+01  2.387e+01
## `prdline.my.fctrUnknown:.clusterid.fctr3`     -3.537e+00  2.601e+01
## `prdline.my.fctriPad 1:.clusterid.fctr3`       9.372e+00  2.306e+01
## `prdline.my.fctriPad 2:.clusterid.fctr3`       2.486e+01  2.599e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr3`      1.737e+00  1.935e+01
## `prdline.my.fctriPadAir:.clusterid.fctr3`     -1.546e+01  2.264e+01
## `prdline.my.fctriPadmini:.clusterid.fctr3`     8.329e-01  2.185e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3` -4.238e+00  2.586e+01
## `prdline.my.fctrUnknown:.clusterid.fctr4`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`       2.618e+01  2.512e+01
## `prdline.my.fctriPad 2:.clusterid.fctr4`      -2.711e+01  2.745e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr4`      5.477e+00  2.079e+01
## `prdline.my.fctriPadAir:.clusterid.fctr4`     -2.158e+01  2.409e+01
## `prdline.my.fctriPadmini:.clusterid.fctr4`    -9.082e+00  2.462e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`         NA         NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`              NA         NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`       2.063e+01  3.022e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`     3.881e+01  3.211e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`         NA         NA
##                                               t value Pr(>|t|)    
## (Intercept)                                    -1.024 0.306180    
## `prdline.my.fctriPad 1`                        -1.057 0.290545    
## `prdline.my.fctriPad 2`                         1.076 0.281984    
## `prdline.my.fctriPad 3+`                        4.973 7.23e-07 ***
## prdline.my.fctriPadAir                         10.029  < 2e-16 ***
## prdline.my.fctriPadmini                         2.268 0.023473 *  
## `prdline.my.fctriPadmini 2+`                    4.514 6.77e-06 ***
## `condition.fctrFor parts or not working`      -10.061  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        0.918 0.358624    
## condition.fctrNew                              11.201  < 2e-16 ***
## `condition.fctrNew other (see details)`         5.143 3.01e-07 ***
## `condition.fctrSeller refurbished`             -1.365 0.172526    
## color.fctrBlack                                -1.249 0.211840    
## color.fctrGold                                  3.974 7.34e-05 ***
## `color.fctrSpace Gray`                          1.298 0.194554    
## color.fctrWhite                                 1.368 0.171557    
## D.TfIdf.sum.stem.stop.Ratio                     1.088 0.276572    
## D.ratio.nstopwrds.nwrds                         1.396 0.162988    
## `carrier.fctrAT&T`                             -3.564 0.000375 ***
## carrier.fctrOther                              -0.545 0.585665    
## carrier.fctrSprint                             -3.768 0.000170 ***
## `carrier.fctrT-Mobile`                         -2.162 0.030781 *  
## carrier.fctrUnknown                            -2.008 0.044784 *  
## carrier.fctrVerizon                            -3.320 0.000919 ***
## D.npnct09.log                                   2.359 0.018454 *  
## D.npnct10.log                                   0.712 0.476274    
## D.terms.n.stem.stop.Ratio                       1.016 0.309550    
## D.npnct28.log                                  -1.181 0.237775    
## cellular.fctr1                                  4.981 6.93e-07 ***
## cellular.fctrUnknown                               NA       NA    
## D.npnct14.log                                  -0.760 0.447227    
## .rnorm                                          0.410 0.681768    
## D.npnct05.log                                  -1.098 0.272395    
## D.npnct08.log                                  -1.508 0.131711    
## D.npnct01.log                                   0.804 0.421497    
## D.ndgts.log                                     0.484 0.628664    
## D.npnct12.log                                  -0.699 0.484770    
## D.npnct16.log                                   0.290 0.771524    
## D.npnct06.log                                  -0.345 0.730137    
## D.npnct15.log                                  -0.027 0.978810    
## D.npnct11.log                                  -1.925 0.054332 .  
## D.npnct03.log                                  -0.004 0.996928    
## storage.fctr16                                -16.638  < 2e-16 ***
## storage.fctr32                                -13.549  < 2e-16 ***
## storage.fctr64                                -10.611  < 2e-16 ***
## storage.fctrUnknown                           -10.652  < 2e-16 ***
## D.npnct13.log                                  -1.399 0.162128    
## D.terms.n.post.stem                             1.113 0.265680    
## D.terms.n.post.stop                            -1.114 0.265372    
## D.ratio.sum.TfIdf.nwrds                        -1.314 0.188888    
## D.nstopwrds.log                                -1.692 0.090782 .  
## D.nwrds.unq.log                                -1.021 0.307201    
## D.terms.n.post.stem.log                            NA       NA    
## D.terms.n.post.stop.log                         1.022 0.307112    
## D.nwrds.log                                     0.865 0.387293    
## D.nchrs.log                                     1.624 0.104554    
## D.nuppr.log                                    -1.753 0.079746 .  
## D.npnct24.log                                   0.156 0.875904    
## D.TfIdf.sum.post.stem                          -1.012 0.311475    
## D.sum.TfIdf                                        NA       NA    
## D.TfIdf.sum.post.stop                           1.032 0.302236    
## biddable                                       -3.352 0.000820 ***
## idseq.my                                        4.662 3.36e-06 ***
## `prdline.my.fctriPad 1:biddable`               -0.344 0.730956    
## `prdline.my.fctriPad 2:biddable`               -2.255 0.024249 *  
## `prdline.my.fctriPad 3+:biddable`              -4.882 1.14e-06 ***
## `prdline.my.fctriPadAir:biddable`              -8.375  < 2e-16 ***
## `prdline.my.fctriPadmini:biddable`             -2.850 0.004422 ** 
## `prdline.my.fctriPadmini 2+:biddable`          -3.491 0.000493 ***
## `prdline.my.fctriPad 1:idseq.my`               -2.260 0.023966 *  
## `prdline.my.fctriPad 2:idseq.my`               -1.233 0.217555    
## `prdline.my.fctriPad 3+:idseq.my`              -2.852 0.004400 ** 
## `prdline.my.fctriPadAir:idseq.my`              -3.555 0.000388 ***
## `prdline.my.fctriPadmini:idseq.my`             -1.499 0.133985    
## `prdline.my.fctriPadmini 2+:idseq.my`          -1.490 0.136475    
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.661 0.007870 ** 
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.268 0.788864    
## `prdline.my.fctriPad 2:.clusterid.fctr2`        0.150 0.880741    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       0.821 0.411864    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -1.731 0.083620 .  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.550 0.582519    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.445 0.148512    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.136 0.891837    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.406 0.684504    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.956 0.339027    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.090 0.928502    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.683 0.494814    
## `prdline.my.fctriPadmini:.clusterid.fctr3`      0.038 0.969603    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.164 0.869864    
## `prdline.my.fctrUnknown:.clusterid.fctr4`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        1.042 0.297413    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -0.987 0.323534    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.263 0.792284    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.896 0.370383    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.369 0.712222    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`      NA       NA    
## `prdline.my.fctrUnknown:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr5`           NA       NA    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.683 0.494936    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadAir:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.209 0.226959    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 97.17 on 1766 degrees of freedom
## Multiple R-squared:  0.6909, Adjusted R-squared:  0.6748 
## F-statistic: 42.91 on 92 and 1766 DF,  p-value: < 2.2e-16
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading

##            model_id model_method
## 1 All.Interact.X.lm           lm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.334                 0.101
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Adj.R.sq.fit
## 1     0.690917     99.41512    0.5271413     119.1518        0.6748153
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6592594       5.921147         0.04305645
##              label step_major step_minor     bgn     end elapsed
## 8  fit.models_1_lm          8          0 206.054 209.615   3.562
## 9 fit.models_1_glm          9          0 209.616      NA      NA
## [1] "fitting model: All.Interact.X.glm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set

## 
## Call:
## NULL
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -389.35   -50.09    -3.80    45.59   754.10  
## 
## Coefficients: (10 not defined because of singularities)
##                                                 Estimate Std. Error
## (Intercept)                                   -5.750e+04  5.618e+04
## `prdline.my.fctriPad 1`                       -2.883e+01  2.727e+01
## `prdline.my.fctriPad 2`                        2.897e+01  2.692e+01
## `prdline.my.fctriPad 3+`                       1.284e+02  2.583e+01
## prdline.my.fctriPadAir                         2.559e+02  2.552e+01
## prdline.my.fctriPadmini                        6.048e+01  2.667e+01
## `prdline.my.fctriPadmini 2+`                   1.279e+02  2.834e+01
## `condition.fctrFor parts or not working`      -9.841e+01  9.781e+00
## `condition.fctrManufacturer refurbished`       1.517e+01  1.652e+01
## condition.fctrNew                              8.989e+01  8.025e+00
## `condition.fctrNew other (see details)`        6.111e+01  1.188e+01
## `condition.fctrSeller refurbished`            -1.427e+01  1.045e+01
## color.fctrBlack                               -8.218e+00  6.580e+00
## color.fctrGold                                 5.163e+01  1.299e+01
## `color.fctrSpace Gray`                         1.105e+01  8.518e+00
## color.fctrWhite                                8.655e+00  6.327e+00
## D.TfIdf.sum.stem.stop.Ratio                    4.864e+02  4.469e+02
## D.ratio.nstopwrds.nwrds                        2.248e+02  1.610e+02
## `carrier.fctrAT&T`                            -5.989e+01  1.680e+01
## carrier.fctrOther                             -3.318e+01  6.085e+01
## carrier.fctrSprint                            -8.881e+01  2.357e+01
## `carrier.fctrT-Mobile`                        -5.977e+01  2.765e+01
## carrier.fctrUnknown                           -2.413e+01  1.202e+01
## carrier.fctrVerizon                           -5.797e+01  1.746e+01
## D.npnct09.log                                  7.868e+01  3.336e+01
## D.npnct10.log                                  3.622e+01  5.084e+01
## D.terms.n.stem.stop.Ratio                      5.709e+04  5.616e+04
## D.npnct28.log                                 -5.850e+01  4.954e+01
## cellular.fctr1                                 7.524e+01  1.510e+01
## cellular.fctrUnknown                                  NA         NA
## D.npnct14.log                                 -1.420e+01  1.868e+01
## .rnorm                                         9.605e-01  2.342e+00
## D.npnct05.log                                 -3.691e+01  3.362e+01
## D.npnct08.log                                 -2.619e+01  1.737e+01
## D.npnct01.log                                  1.216e+01  1.512e+01
## D.ndgts.log                                    5.772e+00  1.193e+01
## D.npnct12.log                                 -1.126e+01  1.611e+01
## D.npnct16.log                                  1.428e+01  4.917e+01
## D.npnct06.log                                 -1.843e+01  5.342e+01
## D.npnct15.log                                 -7.809e-01  2.939e+01
## D.npnct11.log                                 -1.732e+01  8.993e+00
## D.npnct03.log                                 -1.552e-01  4.030e+01
## storage.fctr16                                -1.959e+02  1.178e+01
## storage.fctr32                                -1.717e+02  1.267e+01
## storage.fctr64                                -1.306e+02  1.230e+01
## storage.fctrUnknown                           -1.829e+02  1.717e+01
## D.npnct13.log                                 -1.271e+01  9.086e+00
## D.terms.n.post.stem                            4.132e+02  3.711e+02
## D.terms.n.post.stop                           -4.126e+02  3.703e+02
## D.ratio.sum.TfIdf.nwrds                       -1.328e+01  1.010e+01
## D.nstopwrds.log                               -7.958e+01  4.703e+01
## D.nwrds.unq.log                               -6.413e+04  6.279e+04
## D.terms.n.post.stem.log                               NA         NA
## D.terms.n.post.stop.log                        6.413e+04  6.278e+04
## D.nwrds.log                                    5.720e+01  6.615e+01
## D.nchrs.log                                    1.102e+02  6.788e+01
## D.nuppr.log                                   -8.942e+01  5.100e+01
## D.npnct24.log                                  2.064e+01  1.321e+02
## D.TfIdf.sum.post.stem                         -7.044e+01  6.958e+01
## D.sum.TfIdf                                           NA         NA
## D.TfIdf.sum.post.stop                          6.890e+01  6.677e+01
## biddable                                      -4.916e+01  1.467e+01
## idseq.my                                       6.922e-02  1.485e-02
## `prdline.my.fctriPad 1:biddable`              -6.944e+00  2.019e+01
## `prdline.my.fctriPad 2:biddable`              -4.327e+01  1.919e+01
## `prdline.my.fctriPad 3+:biddable`             -9.215e+01  1.887e+01
## `prdline.my.fctriPadAir:biddable`             -1.529e+02  1.825e+01
## `prdline.my.fctriPadmini:biddable`            -5.367e+01  1.883e+01
## `prdline.my.fctriPadmini 2+:biddable`         -7.166e+01  2.053e+01
## `prdline.my.fctriPad 1:idseq.my`              -4.357e-02  1.928e-02
## `prdline.my.fctriPad 2:idseq.my`              -2.269e-02  1.840e-02
## `prdline.my.fctriPad 3+:idseq.my`             -5.067e-02  1.777e-02
## `prdline.my.fctriPadAir:idseq.my`             -6.376e-02  1.794e-02
## `prdline.my.fctriPadmini:idseq.my`            -2.748e-02  1.833e-02
## `prdline.my.fctriPadmini 2+:idseq.my`         -3.064e-02  2.057e-02
## `prdline.my.fctrUnknown:.clusterid.fctr2`      5.108e+01  1.920e+01
## `prdline.my.fctriPad 1:.clusterid.fctr2`      -5.944e+00  2.220e+01
## `prdline.my.fctriPad 2:.clusterid.fctr2`       2.498e+00  1.665e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr2`      1.500e+01  1.828e+01
## `prdline.my.fctriPadAir:.clusterid.fctr2`     -3.079e+01  1.778e+01
## `prdline.my.fctriPadmini:.clusterid.fctr2`     1.171e+01  2.130e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`  3.451e+01  2.387e+01
## `prdline.my.fctrUnknown:.clusterid.fctr3`     -3.537e+00  2.601e+01
## `prdline.my.fctriPad 1:.clusterid.fctr3`       9.372e+00  2.306e+01
## `prdline.my.fctriPad 2:.clusterid.fctr3`       2.486e+01  2.599e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr3`      1.737e+00  1.935e+01
## `prdline.my.fctriPadAir:.clusterid.fctr3`     -1.546e+01  2.264e+01
## `prdline.my.fctriPadmini:.clusterid.fctr3`     8.329e-01  2.185e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3` -4.238e+00  2.586e+01
## `prdline.my.fctrUnknown:.clusterid.fctr4`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`       2.618e+01  2.512e+01
## `prdline.my.fctriPad 2:.clusterid.fctr4`      -2.711e+01  2.745e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr4`      5.477e+00  2.079e+01
## `prdline.my.fctriPadAir:.clusterid.fctr4`     -2.158e+01  2.409e+01
## `prdline.my.fctriPadmini:.clusterid.fctr4`    -9.082e+00  2.462e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`         NA         NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`              NA         NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`       2.063e+01  3.022e+01
## `prdline.my.fctriPad 3+:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`             NA         NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`     3.881e+01  3.211e+01
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`         NA         NA
##                                               t value Pr(>|t|)    
## (Intercept)                                    -1.024 0.306180    
## `prdline.my.fctriPad 1`                        -1.057 0.290545    
## `prdline.my.fctriPad 2`                         1.076 0.281984    
## `prdline.my.fctriPad 3+`                        4.973 7.23e-07 ***
## prdline.my.fctriPadAir                         10.029  < 2e-16 ***
## prdline.my.fctriPadmini                         2.268 0.023473 *  
## `prdline.my.fctriPadmini 2+`                    4.514 6.77e-06 ***
## `condition.fctrFor parts or not working`      -10.061  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        0.918 0.358624    
## condition.fctrNew                              11.201  < 2e-16 ***
## `condition.fctrNew other (see details)`         5.143 3.01e-07 ***
## `condition.fctrSeller refurbished`             -1.365 0.172526    
## color.fctrBlack                                -1.249 0.211840    
## color.fctrGold                                  3.974 7.34e-05 ***
## `color.fctrSpace Gray`                          1.298 0.194554    
## color.fctrWhite                                 1.368 0.171557    
## D.TfIdf.sum.stem.stop.Ratio                     1.088 0.276572    
## D.ratio.nstopwrds.nwrds                         1.396 0.162988    
## `carrier.fctrAT&T`                             -3.564 0.000375 ***
## carrier.fctrOther                              -0.545 0.585665    
## carrier.fctrSprint                             -3.768 0.000170 ***
## `carrier.fctrT-Mobile`                         -2.162 0.030781 *  
## carrier.fctrUnknown                            -2.008 0.044784 *  
## carrier.fctrVerizon                            -3.320 0.000919 ***
## D.npnct09.log                                   2.359 0.018454 *  
## D.npnct10.log                                   0.712 0.476274    
## D.terms.n.stem.stop.Ratio                       1.016 0.309550    
## D.npnct28.log                                  -1.181 0.237775    
## cellular.fctr1                                  4.981 6.93e-07 ***
## cellular.fctrUnknown                               NA       NA    
## D.npnct14.log                                  -0.760 0.447227    
## .rnorm                                          0.410 0.681768    
## D.npnct05.log                                  -1.098 0.272395    
## D.npnct08.log                                  -1.508 0.131711    
## D.npnct01.log                                   0.804 0.421497    
## D.ndgts.log                                     0.484 0.628664    
## D.npnct12.log                                  -0.699 0.484770    
## D.npnct16.log                                   0.290 0.771524    
## D.npnct06.log                                  -0.345 0.730137    
## D.npnct15.log                                  -0.027 0.978810    
## D.npnct11.log                                  -1.925 0.054332 .  
## D.npnct03.log                                  -0.004 0.996928    
## storage.fctr16                                -16.638  < 2e-16 ***
## storage.fctr32                                -13.549  < 2e-16 ***
## storage.fctr64                                -10.611  < 2e-16 ***
## storage.fctrUnknown                           -10.652  < 2e-16 ***
## D.npnct13.log                                  -1.399 0.162128    
## D.terms.n.post.stem                             1.113 0.265680    
## D.terms.n.post.stop                            -1.114 0.265372    
## D.ratio.sum.TfIdf.nwrds                        -1.314 0.188888    
## D.nstopwrds.log                                -1.692 0.090782 .  
## D.nwrds.unq.log                                -1.021 0.307201    
## D.terms.n.post.stem.log                            NA       NA    
## D.terms.n.post.stop.log                         1.022 0.307112    
## D.nwrds.log                                     0.865 0.387293    
## D.nchrs.log                                     1.624 0.104554    
## D.nuppr.log                                    -1.753 0.079746 .  
## D.npnct24.log                                   0.156 0.875904    
## D.TfIdf.sum.post.stem                          -1.012 0.311475    
## D.sum.TfIdf                                        NA       NA    
## D.TfIdf.sum.post.stop                           1.032 0.302236    
## biddable                                       -3.352 0.000820 ***
## idseq.my                                        4.662 3.36e-06 ***
## `prdline.my.fctriPad 1:biddable`               -0.344 0.730956    
## `prdline.my.fctriPad 2:biddable`               -2.255 0.024249 *  
## `prdline.my.fctriPad 3+:biddable`              -4.882 1.14e-06 ***
## `prdline.my.fctriPadAir:biddable`              -8.375  < 2e-16 ***
## `prdline.my.fctriPadmini:biddable`             -2.850 0.004422 ** 
## `prdline.my.fctriPadmini 2+:biddable`          -3.491 0.000493 ***
## `prdline.my.fctriPad 1:idseq.my`               -2.260 0.023966 *  
## `prdline.my.fctriPad 2:idseq.my`               -1.233 0.217555    
## `prdline.my.fctriPad 3+:idseq.my`              -2.852 0.004400 ** 
## `prdline.my.fctriPadAir:idseq.my`              -3.555 0.000388 ***
## `prdline.my.fctriPadmini:idseq.my`             -1.499 0.133985    
## `prdline.my.fctriPadmini 2+:idseq.my`          -1.490 0.136475    
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.661 0.007870 ** 
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.268 0.788864    
## `prdline.my.fctriPad 2:.clusterid.fctr2`        0.150 0.880741    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       0.821 0.411864    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -1.731 0.083620 .  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.550 0.582519    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.445 0.148512    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.136 0.891837    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.406 0.684504    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.956 0.339027    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.090 0.928502    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.683 0.494814    
## `prdline.my.fctriPadmini:.clusterid.fctr3`      0.038 0.969603    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.164 0.869864    
## `prdline.my.fctrUnknown:.clusterid.fctr4`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        1.042 0.297413    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -0.987 0.323534    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.263 0.792284    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.896 0.370383    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.369 0.712222    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`      NA       NA    
## `prdline.my.fctrUnknown:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPad 1:.clusterid.fctr5`           NA       NA    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.683 0.494936    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadAir:.clusterid.fctr5`          NA       NA    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.209 0.226959    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 9442.047)
## 
##     Null deviance: 53948796  on 1858  degrees of freedom
## Residual deviance: 16674654  on 1766  degrees of freedom
## AIC: 22383
## 
## Number of Fisher Scoring iterations: 2
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading

##             model_id model_method
## 1 All.Interact.X.glm          glm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.298                 0.116
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB min.aic.fit
## 1     0.690917     99.41512    0.5271413     119.1518     22383.5
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6592594       5.921147         0.04305645
##                    label step_major step_minor     bgn     end elapsed
## 9       fit.models_1_glm          9          0 209.616 213.176    3.56
## 10 fit.models_1_bayesglm         10          0 213.176      NA      NA
## [1] "fitting model: All.Interact.X.bayesglm"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set
## 
## Call:
## NULL
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -389.46   -49.53    -3.85    46.07   753.88  
## 
## Coefficients:
##                                                 Estimate Std. Error
## (Intercept)                                   -139.52218  686.99171
## `prdline.my.fctriPad 1`                        -29.26925   27.25138
## `prdline.my.fctriPad 2`                         28.13115   26.90806
## `prdline.my.fctriPad 3+`                       128.02473   25.78128
## prdline.my.fctriPadAir                         255.40708   25.50005
## prdline.my.fctriPadmini                         60.50207   26.64229
## `prdline.my.fctriPadmini 2+`                   127.45212   28.33410
## `condition.fctrFor parts or not working`       -98.53473    9.80899
## `condition.fctrManufacturer refurbished`        15.61754   16.55305
## condition.fctrNew                               89.83256    8.04847
## `condition.fctrNew other (see details)`         60.65891   11.90632
## `condition.fctrSeller refurbished`             -14.63050   10.46508
## color.fctrBlack                                 -8.07146    6.59790
## color.fctrGold                                  51.74234   13.02680
## `color.fctrSpace Gray`                          11.13454    8.53854
## color.fctrWhite                                  8.44733    6.33197
## D.TfIdf.sum.stem.stop.Ratio                    336.05678  375.53554
## D.ratio.nstopwrds.nwrds                        206.62382  154.76495
## `carrier.fctrAT&T`                              -9.74255  221.18345
## carrier.fctrOther                               15.23530  226.89073
## carrier.fctrSprint                             -38.27509  221.65345
## `carrier.fctrT-Mobile`                         -10.02371  221.98830
## carrier.fctrUnknown                             26.10599  221.19253
## carrier.fctrVerizon                             -8.47360  221.22550
## D.npnct09.log                                   78.47889   33.33090
## D.npnct10.log                                   36.65482   50.80637
## D.terms.n.stem.stop.Ratio                     -105.68544  560.98511
## D.npnct28.log                                  -58.35565   49.45195
## cellular.fctr1                                  25.02216  221.10731
## cellular.fctrUnknown                           -50.33495  221.43759
## D.npnct14.log                                  -13.44312   18.66538
## .rnorm                                           0.93571    2.34908
## D.npnct05.log                                  -34.84764   33.52346
## D.npnct08.log                                  -25.68151   17.40369
## D.npnct01.log                                   11.88016   15.14965
## D.ndgts.log                                      5.73620   11.90104
## D.npnct12.log                                   -9.91423   16.11164
## D.npnct16.log                                   13.64798   48.98091
## D.npnct06.log                                  -19.63710   53.19248
## D.npnct15.log                                   -1.53502   29.42054
## D.npnct11.log                                  -18.14638    8.97726
## D.npnct03.log                                    2.05570   40.23739
## storage.fctr16                                -195.09787   11.79293
## storage.fctr32                                -170.65532   12.68538
## storage.fctr64                                -129.80484   12.32648
## storage.fctrUnknown                           -181.89089   17.19827
## D.npnct13.log                                  -13.13244    9.07922
## D.terms.n.post.stem                             31.33054   62.07114
## D.terms.n.post.stop                            -31.09525   61.39910
## D.ratio.sum.TfIdf.nwrds                        -13.62301    9.99677
## D.nstopwrds.log                                -71.88221   45.46350
## D.nwrds.unq.log                                -31.48629  578.11071
## D.terms.n.post.stem.log                        -31.48629  578.11071
## D.terms.n.post.stop.log                         67.91273  521.12639
## D.nwrds.log                                     49.24496   64.96154
## D.nchrs.log                                    108.64199   67.24722
## D.nuppr.log                                    -87.50763   50.63015
## D.npnct24.log                                    7.37711  127.62014
## D.TfIdf.sum.post.stem                          -23.31191  494.92411
## D.sum.TfIdf                                    -23.31191  494.92411
## D.TfIdf.sum.post.stop                           46.01392   56.43503
## biddable                                       -49.37561   14.66661
## idseq.my                                         0.06920    0.01485
## `prdline.my.fctriPad 1:biddable`                -6.70148   20.21308
## `prdline.my.fctriPad 2:biddable`               -43.26706   19.20071
## `prdline.my.fctriPad 3+:biddable`              -91.44584   18.87420
## `prdline.my.fctriPadAir:biddable`             -152.13016   18.26799
## `prdline.my.fctriPadmini:biddable`             -53.50452   18.84445
## `prdline.my.fctriPadmini 2+:biddable`          -71.13292   20.54804
## `prdline.my.fctriPad 1:idseq.my`                -0.04356    0.01930
## `prdline.my.fctriPad 2:idseq.my`                -0.02196    0.01841
## `prdline.my.fctriPad 3+:idseq.my`               -0.05077    0.01777
## `prdline.my.fctriPadAir:idseq.my`               -0.06366    0.01795
## `prdline.my.fctriPadmini:idseq.my`              -0.02773    0.01833
## `prdline.my.fctriPadmini 2+:idseq.my`           -0.03038    0.02060
## `prdline.my.fctrUnknown:.clusterid.fctr2`       51.22284   19.21776
## `prdline.my.fctriPad 1:.clusterid.fctr2`        -5.36491   22.23051
## `prdline.my.fctriPad 2:.clusterid.fctr2`         2.76536   16.64877
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       15.62933   18.30413
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -30.90206   17.81348
## `prdline.my.fctriPadmini:.clusterid.fctr2`      11.12455   21.32900
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   35.90846   23.83945
## `prdline.my.fctrUnknown:.clusterid.fctr3`       -3.57270   26.03858
## `prdline.my.fctriPad 1:.clusterid.fctr3`        10.89063   23.05523
## `prdline.my.fctriPad 2:.clusterid.fctr3`        23.66675   25.98107
## `prdline.my.fctriPad 3+:.clusterid.fctr3`        2.82453   19.35074
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -13.56764   22.62011
## `prdline.my.fctriPadmini:.clusterid.fctr3`       0.52071   21.89617
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`   -5.03653   25.89675
## `prdline.my.fctrUnknown:.clusterid.fctr4`        0.00000  854.89301
## `prdline.my.fctriPad 1:.clusterid.fctr4`        26.66759   25.15931
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -26.24886   27.46768
## `prdline.my.fctriPad 3+:.clusterid.fctr4`        6.77872   20.81011
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -19.99073   24.06761
## `prdline.my.fctriPadmini:.clusterid.fctr4`      -8.33590   24.63992
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`    0.00000  854.89301
## `prdline.my.fctrUnknown:.clusterid.fctr5`        0.00000  854.89301
## `prdline.my.fctriPad 1:.clusterid.fctr5`         0.00000  854.89301
## `prdline.my.fctriPad 2:.clusterid.fctr5`        21.09303   30.23976
## `prdline.my.fctriPad 3+:.clusterid.fctr5`        0.00000  854.89301
## `prdline.my.fctriPadAir:.clusterid.fctr5`        0.00000  854.89301
## `prdline.my.fctriPadmini:.clusterid.fctr5`      40.51999   32.11356
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`    0.00000  854.89301
##                                               t value Pr(>|t|)    
## (Intercept)                                    -0.203 0.839087    
## `prdline.my.fctriPad 1`                        -1.074 0.282949    
## `prdline.my.fctriPad 2`                         1.045 0.295957    
## `prdline.my.fctriPad 3+`                        4.966 7.51e-07 ***
## prdline.my.fctriPadAir                         10.016  < 2e-16 ***
## prdline.my.fctriPadmini                         2.271 0.023273 *  
## `prdline.my.fctriPadmini 2+`                    4.498 7.30e-06 ***
## `condition.fctrFor parts or not working`      -10.045  < 2e-16 ***
## `condition.fctrManufacturer refurbished`        0.943 0.345563    
## condition.fctrNew                              11.161  < 2e-16 ***
## `condition.fctrNew other (see details)`         5.095 3.87e-07 ***
## `condition.fctrSeller refurbished`             -1.398 0.162280    
## color.fctrBlack                                -1.223 0.221366    
## color.fctrGold                                  3.972 7.42e-05 ***
## `color.fctrSpace Gray`                          1.304 0.192393    
## color.fctrWhite                                 1.334 0.182352    
## D.TfIdf.sum.stem.stop.Ratio                     0.895 0.370977    
## D.ratio.nstopwrds.nwrds                         1.335 0.182023    
## `carrier.fctrAT&T`                             -0.044 0.964872    
## carrier.fctrOther                               0.067 0.946471    
## carrier.fctrSprint                             -0.173 0.862923    
## `carrier.fctrT-Mobile`                         -0.045 0.963990    
## carrier.fctrUnknown                             0.118 0.906062    
## carrier.fctrVerizon                            -0.038 0.969450    
## D.npnct09.log                                   2.355 0.018655 *  
## D.npnct10.log                                   0.721 0.470722    
## D.terms.n.stem.stop.Ratio                      -0.188 0.850591    
## D.npnct28.log                                  -1.180 0.238141    
## cellular.fctr1                                  0.113 0.909911    
## cellular.fctrUnknown                           -0.227 0.820209    
## D.npnct14.log                                  -0.720 0.471488    
## .rnorm                                          0.398 0.690437    
## D.npnct05.log                                  -1.039 0.298715    
## D.npnct08.log                                  -1.476 0.140221    
## D.npnct01.log                                   0.784 0.433036    
## D.ndgts.log                                     0.482 0.629872    
## D.npnct12.log                                  -0.615 0.538406    
## D.npnct16.log                                   0.279 0.780555    
## D.npnct06.log                                  -0.369 0.712045    
## D.npnct15.log                                  -0.052 0.958395    
## D.npnct11.log                                  -2.021 0.043393 *  
## D.npnct03.log                                   0.051 0.959260    
## storage.fctr16                                -16.544  < 2e-16 ***
## storage.fctr32                                -13.453  < 2e-16 ***
## storage.fctr64                                -10.531  < 2e-16 ***
## storage.fctrUnknown                           -10.576  < 2e-16 ***
## D.npnct13.log                                  -1.446 0.148236    
## D.terms.n.post.stem                             0.505 0.613796    
## D.terms.n.post.stop                            -0.506 0.612608    
## D.ratio.sum.TfIdf.nwrds                        -1.363 0.173139    
## D.nstopwrds.log                                -1.581 0.114036    
## D.nwrds.unq.log                                -0.054 0.956572    
## D.terms.n.post.stem.log                        -0.054 0.956572    
## D.terms.n.post.stop.log                         0.130 0.896329    
## D.nwrds.log                                     0.758 0.448515    
## D.nchrs.log                                     1.616 0.106369    
## D.nuppr.log                                    -1.728 0.084098 .  
## D.npnct24.log                                   0.058 0.953910    
## D.TfIdf.sum.post.stem                          -0.047 0.962437    
## D.sum.TfIdf                                    -0.047 0.962437    
## D.TfIdf.sum.post.stop                           0.815 0.414986    
## biddable                                       -3.367 0.000778 ***
## idseq.my                                        4.660 3.39e-06 ***
## `prdline.my.fctriPad 1:biddable`               -0.332 0.740275    
## `prdline.my.fctriPad 2:biddable`               -2.253 0.024356 *  
## `prdline.my.fctriPad 3+:biddable`              -4.845 1.38e-06 ***
## `prdline.my.fctriPadAir:biddable`              -8.328  < 2e-16 ***
## `prdline.my.fctriPadmini:biddable`             -2.839 0.004574 ** 
## `prdline.my.fctriPadmini 2+:biddable`          -3.462 0.000549 ***
## `prdline.my.fctriPad 1:idseq.my`               -2.257 0.024119 *  
## `prdline.my.fctriPad 2:idseq.my`               -1.192 0.233286    
## `prdline.my.fctriPad 3+:idseq.my`              -2.856 0.004336 ** 
## `prdline.my.fctriPadAir:idseq.my`              -3.546 0.000401 ***
## `prdline.my.fctriPadmini:idseq.my`             -1.512 0.130619    
## `prdline.my.fctriPadmini 2+:idseq.my`          -1.475 0.140328    
## `prdline.my.fctrUnknown:.clusterid.fctr2`       2.665 0.007760 ** 
## `prdline.my.fctriPad 1:.clusterid.fctr2`       -0.241 0.809327    
## `prdline.my.fctriPad 2:.clusterid.fctr2`        0.166 0.868097    
## `prdline.my.fctriPad 3+:.clusterid.fctr2`       0.854 0.393294    
## `prdline.my.fctriPadAir:.clusterid.fctr2`      -1.735 0.082959 .  
## `prdline.my.fctriPadmini:.clusterid.fctr2`      0.522 0.602036    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`   1.506 0.132180    
## `prdline.my.fctrUnknown:.clusterid.fctr3`      -0.137 0.890882    
## `prdline.my.fctriPad 1:.clusterid.fctr3`        0.472 0.636720    
## `prdline.my.fctriPad 2:.clusterid.fctr3`        0.911 0.362461    
## `prdline.my.fctriPad 3+:.clusterid.fctr3`       0.146 0.883966    
## `prdline.my.fctriPadAir:.clusterid.fctr3`      -0.600 0.548714    
## `prdline.my.fctriPadmini:.clusterid.fctr3`      0.024 0.981030    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`  -0.194 0.845819    
## `prdline.my.fctrUnknown:.clusterid.fctr4`       0.000 1.000000    
## `prdline.my.fctriPad 1:.clusterid.fctr4`        1.060 0.289314    
## `prdline.my.fctriPad 2:.clusterid.fctr4`       -0.956 0.339392    
## `prdline.my.fctriPad 3+:.clusterid.fctr4`       0.326 0.744659    
## `prdline.my.fctriPadAir:.clusterid.fctr4`      -0.831 0.406308    
## `prdline.my.fctriPadmini:.clusterid.fctr4`     -0.338 0.735171    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`   0.000 1.000000    
## `prdline.my.fctrUnknown:.clusterid.fctr5`       0.000 1.000000    
## `prdline.my.fctriPad 1:.clusterid.fctr5`        0.000 1.000000    
## `prdline.my.fctriPad 2:.clusterid.fctr5`        0.698 0.485566    
## `prdline.my.fctriPad 3+:.clusterid.fctr5`       0.000 1.000000    
## `prdline.my.fctriPadAir:.clusterid.fctr5`       0.000 1.000000    
## `prdline.my.fctriPadmini:.clusterid.fctr5`      1.262 0.207199    
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`   0.000 1.000000    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 9502.165)
## 
##     Null deviance: 53948796  on 1858  degrees of freedom
## Residual deviance: 16685801  on 1756  degrees of freedom
## AIC: 22405
## 
## Number of Fisher Scoring iterations: 12
## 
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##                  model_id model_method
## 1 All.Interact.X.bayesglm     bayesglm
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      2.999                 0.982
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB min.aic.fit
## 1    0.6907104      99.3622    0.5274745     119.1099    22404.74
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.6595932       5.855718         0.04250045
##                    label step_major step_minor     bgn     end elapsed
## 10 fit.models_1_bayesglm         10          0 213.176 217.458   4.282
## 11   fit.models_1_glmnet         11          0 217.459      NA      NA
## [1] "fitting model: All.Interact.X.glmnet"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Selecting tuning parameters
## Fitting alpha = 1, lambda = 0.155 on full training set
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: alpha
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: lambda

##             Length Class      Mode     
## a0            92   -none-     numeric  
## beta        9384   dgCMatrix  S4       
## df            92   -none-     numeric  
## dim            2   -none-     numeric  
## lambda        92   -none-     numeric  
## dev.ratio     92   -none-     numeric  
## nulldev        1   -none-     numeric  
## npasses        1   -none-     numeric  
## jerr           1   -none-     numeric  
## offset         1   -none-     logical  
## call           5   -none-     call     
## nobs           1   -none-     numeric  
## lambdaOpt      1   -none-     numeric  
## xNames       102   -none-     character
## problemType    1   -none-     character
## tuneValue      2   data.frame list     
## obsLevels      1   -none-     logical  
## [1] "min lambda > lambdaOpt:"
##                                 (Intercept) 
##                                2.021265e+02 
##                       prdline.my.fctriPad 1 
##                               -6.494437e+01 
##                       prdline.my.fctriPad 2 
##                               -6.483523e+00 
##                      prdline.my.fctriPad 3+ 
##                                8.594133e+01 
##                      prdline.my.fctriPadAir 
##                                2.134242e+02 
##                     prdline.my.fctriPadmini 
##                                1.815435e+01 
##                  prdline.my.fctriPadmini 2+ 
##                                8.421616e+01 
##      condition.fctrFor parts or not working 
##                               -9.684398e+01 
##      condition.fctrManufacturer refurbished 
##                                1.532624e+01 
##                           condition.fctrNew 
##                                9.001168e+01 
##       condition.fctrNew other (see details) 
##                                6.017169e+01 
##            condition.fctrSeller refurbished 
##                               -1.371126e+01 
##                             color.fctrBlack 
##                               -8.568007e+00 
##                              color.fctrGold 
##                                4.977860e+01 
##                        color.fctrSpace Gray 
##                                1.144084e+01 
##                             color.fctrWhite 
##                                8.573792e+00 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                3.415501e+01 
##                     D.ratio.nstopwrds.nwrds 
##                                9.430589e-02 
##                            carrier.fctrAT&T 
##                               -5.891599e-01 
##                           carrier.fctrOther 
##                                3.080510e+00 
##                          carrier.fctrSprint 
##                               -2.591294e+01 
##                         carrier.fctrUnknown 
##                                3.485803e+01 
##                               D.npnct09.log 
##                                8.804685e+01 
##                               D.npnct10.log 
##                                3.950591e+01 
##                   D.terms.n.stem.stop.Ratio 
##                                9.150614e+01 
##                               D.npnct28.log 
##                               -5.938833e+01 
##                              cellular.fctr1 
##                                1.585526e+01 
##                        cellular.fctrUnknown 
##                               -5.810206e+01 
##                               D.npnct14.log 
##                               -1.047234e+01 
##                                      .rnorm 
##                                5.698951e-01 
##                               D.npnct05.log 
##                               -3.097552e+01 
##                               D.npnct08.log 
##                               -1.878605e+01 
##                               D.npnct01.log 
##                                1.327287e+01 
##                                 D.ndgts.log 
##                                9.023380e+00 
##                               D.npnct06.log 
##                               -3.296546e+00 
##                               D.npnct15.log 
##                               -1.185069e-01 
##                               D.npnct11.log 
##                               -1.419400e+01 
##                               D.npnct03.log 
##                                1.000567e+01 
##                              storage.fctr16 
##                               -1.877873e+02 
##                              storage.fctr32 
##                               -1.629746e+02 
##                              storage.fctr64 
##                               -1.227080e+02 
##                         storage.fctrUnknown 
##                               -1.758608e+02 
##                               D.npnct13.log 
##                               -9.116810e+00 
##                         D.terms.n.post.stem 
##                                1.026634e-01 
##                     D.ratio.sum.TfIdf.nwrds 
##                               -1.364773e+01 
##                             D.nstopwrds.log 
##                                1.508679e+00 
##                                 D.nwrds.log 
##                                3.854197e-01 
##                       D.TfIdf.sum.post.stem 
##                                6.677352e-04 
##                                 D.sum.TfIdf 
##                                1.517063e-16 
##                       D.TfIdf.sum.post.stop 
##                                1.002609e-01 
##                                    biddable 
##                               -6.179469e+01 
##                                    idseq.my 
##                                4.426736e-02 
##              prdline.my.fctriPad 1:biddable 
##                                2.952360e+00 
##              prdline.my.fctriPad 2:biddable 
##                               -3.166519e+01 
##             prdline.my.fctriPad 3+:biddable 
##                               -7.568148e+01 
##             prdline.my.fctriPadAir:biddable 
##                               -1.377437e+02 
##            prdline.my.fctriPadmini:biddable 
##                               -3.893092e+01 
##         prdline.my.fctriPadmini 2+:biddable 
##                               -5.638895e+01 
##              prdline.my.fctriPad 1:idseq.my 
##                               -1.754718e-02 
##             prdline.my.fctriPad 3+:idseq.my 
##                               -2.327996e-02 
##             prdline.my.fctriPadAir:idseq.my 
##                               -3.540788e-02 
##         prdline.my.fctriPadmini 2+:idseq.my 
##                               -4.520830e-04 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                4.414803e+01 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                               -7.083480e+00 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                1.550777e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                               -2.923902e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                9.439323e+00 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                3.474124e+01 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                               -8.725457e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr3 
##                                7.339137e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr3 
##                                1.368954e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr3 
##                                2.146605e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                               -8.634329e+00 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                               -3.851540e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                2.206077e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                               -2.588906e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                7.506176e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr4 
##                               -1.613339e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr4 
##                               -5.690045e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr5 
##                                1.264092e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                3.774607e+01 
## [1] "max lambda < lambdaOpt:"
##                                 (Intercept) 
##                                8.475655e+01 
##                       prdline.my.fctriPad 1 
##                               -3.659582e+01 
##                       prdline.my.fctriPad 2 
##                                2.021166e+01 
##                      prdline.my.fctriPad 3+ 
##                                1.197013e+02 
##                      prdline.my.fctriPadAir 
##                                2.474283e+02 
##                     prdline.my.fctriPadmini 
##                                5.258541e+01 
##                  prdline.my.fctriPadmini 2+ 
##                                1.199575e+02 
##      condition.fctrFor parts or not working 
##                               -9.879889e+01 
##      condition.fctrManufacturer refurbished 
##                                1.596868e+01 
##                           condition.fctrNew 
##                                8.952577e+01 
##       condition.fctrNew other (see details) 
##                                5.971614e+01 
##            condition.fctrSeller refurbished 
##                               -1.472606e+01 
##                             color.fctrBlack 
##                               -7.864750e+00 
##                              color.fctrGold 
##                                5.153175e+01 
##                        color.fctrSpace Gray 
##                                1.217576e+01 
##                             color.fctrWhite 
##                                9.339784e+00 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                4.619262e+01 
##                     D.ratio.nstopwrds.nwrds 
##                                6.084916e+01 
##                            carrier.fctrAT&T 
##                               -8.563862e-01 
##                           carrier.fctrOther 
##                                1.208200e+01 
##                          carrier.fctrSprint 
##                               -2.898136e+01 
##                        carrier.fctrT-Mobile 
##                               -1.712969e+00 
##                         carrier.fctrUnknown 
##                                3.553437e+01 
##                         carrier.fctrVerizon 
##                                3.864579e-02 
##                               D.npnct09.log 
##                                9.122460e+01 
##                               D.npnct10.log 
##                                4.397425e+01 
##                   D.terms.n.stem.stop.Ratio 
##                                1.109711e+02 
##                               D.npnct28.log 
##                               -6.566439e+01 
##                              cellular.fctr1 
##                                1.603608e+01 
##                        cellular.fctrUnknown 
##                               -5.965857e+01 
##                               D.npnct14.log 
##                               -1.133446e+01 
##                                      .rnorm 
##                                7.961739e-01 
##                               D.npnct05.log 
##                               -2.773098e+01 
##                               D.npnct08.log 
##                               -2.191823e+01 
##                               D.npnct01.log 
##                                1.380050e+01 
##                                 D.ndgts.log 
##                                7.746915e+00 
##                               D.npnct12.log 
##                               -3.505011e+00 
##                               D.npnct16.log 
##                                1.305669e+01 
##                               D.npnct06.log 
##                               -1.853178e+01 
##                               D.npnct15.log 
##                               -1.643859e+00 
##                               D.npnct11.log 
##                               -1.584157e+01 
##                               D.npnct03.log 
##                                1.180179e+01 
##                              storage.fctr16 
##                               -1.931560e+02 
##                              storage.fctr32 
##                               -1.685737e+02 
##                              storage.fctr64 
##                               -1.282895e+02 
##                         storage.fctrUnknown 
##                               -1.805276e+02 
##                               D.npnct13.log 
##                               -1.069285e+01 
##                         D.terms.n.post.stem 
##                               -2.233931e-04 
##                         D.terms.n.post.stop 
##                               -1.626424e-01 
##                     D.ratio.sum.TfIdf.nwrds 
##                               -1.239938e+01 
##                             D.nstopwrds.log 
##                               -2.509072e+01 
##                             D.nwrds.unq.log 
##                                5.336434e-03 
##                                 D.nwrds.log 
##                                3.848297e+01 
##                                 D.nchrs.log 
##                                1.637521e+00 
##                                 D.nuppr.log 
##                               -7.563751e+00 
##                               D.npnct24.log 
##                                9.285074e-02 
##                       D.TfIdf.sum.post.stop 
##                                1.360046e+00 
##                                    biddable 
##                               -5.199430e+01 
##                                    idseq.my 
##                                6.499436e-02 
##              prdline.my.fctriPad 1:biddable 
##                               -4.561164e+00 
##              prdline.my.fctriPad 2:biddable 
##                               -4.067152e+01 
##             prdline.my.fctriPad 3+:biddable 
##                               -8.845897e+01 
##             prdline.my.fctriPadAir:biddable 
##                               -1.491058e+02 
##            prdline.my.fctriPadmini:biddable 
##                               -5.072429e+01 
##         prdline.my.fctriPadmini 2+:biddable 
##                               -6.833458e+01 
##              prdline.my.fctriPad 1:idseq.my 
##                               -3.831010e-02 
##              prdline.my.fctriPad 2:idseq.my 
##                               -1.785500e-02 
##             prdline.my.fctriPad 3+:idseq.my 
##                               -4.599684e-02 
##             prdline.my.fctriPadAir:idseq.my 
##                               -5.895835e-02 
##            prdline.my.fctriPadmini:idseq.my 
##                               -2.311126e-02 
##         prdline.my.fctriPadmini 2+:idseq.my 
##                               -2.594274e-02 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                4.974547e+01 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                               -5.252069e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                                3.080331e+00 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                1.595769e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                               -3.024417e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                1.177981e+01 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                3.571423e+01 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                               -3.989763e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr3 
##                                1.018699e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr3 
##                                1.961897e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr3 
##                                3.708763e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                               -1.143213e+01 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                               -3.830877e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                2.628033e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                               -2.388832e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                8.789285e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr4 
##                               -2.006124e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr4 
##                               -7.795470e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr5 
##                                1.970114e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                4.169729e+01 
## character(0)
## character(0)
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##                model_id model_method
## 1 All.Interact.X.glmnet       glmnet
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               9                       1.48                 0.049
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.6885565     99.25138    0.5363701     117.9834        0.6600662
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       5.858388          0.0422371
##                  label step_major step_minor     bgn     end elapsed
## 11 fit.models_1_glmnet         11          0 217.459 220.986   3.527
## 12  fit.models_1_rpart         12          0 220.986      NA      NA
## [1] "fitting model: All.Interact.X.no.rnorm.rpart"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr"
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info =
## trainInfo, : There were missing values in resampled performance measures.

## Aggregating results
## Selecting tuning parameters
## Fitting cp = 0.0533 on full training set
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: cp

## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7, 
##     cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, 
##     surrogatestyle = 0, maxdepth = 30, xval = 0))
##   n= 1859 
## 
##          CP nsplit rel error
## 1 0.2082348      0 1.0000000
## 2 0.1528586      1 0.7917652
## 3 0.0532712      2 0.6389066
## 
## Variable importance
##                                biddable 
##                                      28 
##         prdline.my.fctriPadAir:idseq.my 
##                                      21 
##                  prdline.my.fctriPadAir 
##                                      20 
##                                idseq.my 
##                                       6 
##         prdline.my.fctriPad 3+:biddable 
##                                       5 
##         prdline.my.fctriPadAir:biddable 
##                                       5 
##          prdline.my.fctriPad 2:biddable 
##                                       5 
##        prdline.my.fctriPadmini:biddable 
##                                       5 
## prdline.my.fctriPadAir:.clusterid.fctr2 
##                                       3 
## prdline.my.fctriPadAir:.clusterid.fctr4 
##                                       2 
## prdline.my.fctriPadAir:.clusterid.fctr3 
##                                       1 
##                          color.fctrGold 
##                                       1 
## 
## Node number 1: 1859 observations,    complexity param=0.2082348
##   mean=211.3404, MSE=29020.33 
##   left son=2 (837 obs) right son=3 (1022 obs)
##   Primary splits:
##       biddable                        < 0.5   to the right, improve=0.20823480, (0 missing)
##       prdline.my.fctriPadAir:idseq.my < 34.5  to the left,  improve=0.19321370, (0 missing)
##       prdline.my.fctriPadAir          < 0.5   to the left,  improve=0.19258840, (0 missing)
##       condition.fctrNew               < 0.5   to the left,  improve=0.18855550, (0 missing)
##       prdline.my.fctriPad 1           < 0.5   to the right, improve=0.07643644, (0 missing)
##   Surrogate splits:
##       idseq.my                         < 869.5 to the left,  agree=0.639, adj=0.197, (0 split)
##       prdline.my.fctriPad 3+:biddable  < 0.5   to the right, agree=0.626, adj=0.170, (0 split)
##       prdline.my.fctriPadAir:biddable  < 0.5   to the right, agree=0.626, adj=0.168, (0 split)
##       prdline.my.fctriPad 2:biddable   < 0.5   to the right, agree=0.625, adj=0.167, (0 split)
##       prdline.my.fctriPadmini:biddable < 0.5   to the right, agree=0.623, adj=0.162, (0 split)
## 
## Node number 2: 837 observations
##   mean=125.4409, MSE=18411.58 
## 
## Node number 3: 1022 observations,    complexity param=0.1528586
##   mean=281.6905, MSE=26716.52 
##   left son=6 (815 obs) right son=7 (207 obs)
##   Primary splits:
##       prdline.my.fctriPadAir:idseq.my < 34    to the left,  improve=0.3020235, (0 missing)
##       prdline.my.fctriPadAir          < 0.5   to the left,  improve=0.2980157, (0 missing)
##       condition.fctrNew               < 0.5   to the left,  improve=0.1763299, (0 missing)
##       prdline.my.fctriPad 1:idseq.my  < 6     to the right, improve=0.1189930, (0 missing)
##       prdline.my.fctriPad 1           < 0.5   to the right, improve=0.1189930, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPadAir                  < 0.5   to the left,  agree=0.995, adj=0.976, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr2 < 0.5   to the left,  agree=0.824, adj=0.130, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr4 < 0.5   to the left,  agree=0.814, adj=0.082, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr3 < 0.5   to the left,  agree=0.812, adj=0.072, (0 split)
##       color.fctrGold                          < 0.5   to the left,  agree=0.805, adj=0.039, (0 split)
## 
## Node number 6: 815 observations
##   mean=236.4199, MSE=17832.66 
## 
## Node number 7: 207 observations
##   mean=459.93, MSE=21855.7 
## 
## n= 1859 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
## 1) root 1859 53948800 211.3404  
##   2) biddable>=0.5 837 15410490 125.4409 *
##   3) biddable< 0.5 1022 27304290 281.6905  
##     6) prdline.my.fctriPadAir:idseq.my< 34 815 14533620 236.4199 *
##     7) prdline.my.fctriPadAir:idseq.my>=34 207  4524130 459.9300 *
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##                        model_id model_method
## 1 All.Interact.X.no.rnorm.rpart        rpart
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               3                      2.168                 0.128
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.3610934     133.5298    0.3212929     142.7501        0.3886849
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       3.122861         0.03323354
##                 label step_major step_minor     bgn     end elapsed
## 12 fit.models_1_rpart         12          0 220.986 225.602   4.616
## 13    fit.models_1_rf         13          0 225.603      NA      NA
## [1] "fitting model: All.Interact.X.no.rnorm.rf"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Selecting tuning parameters
## Fitting mtry = 51 on full training set

##                 Length Class      Mode     
## call               4   -none-     call     
## type               1   -none-     character
## predicted       1859   -none-     numeric  
## mse              500   -none-     numeric  
## rsq              500   -none-     numeric  
## oob.times       1859   -none-     numeric  
## importance       101   -none-     numeric  
## importanceSD       0   -none-     NULL     
## localImportance    0   -none-     NULL     
## proximity          0   -none-     NULL     
## ntree              1   -none-     numeric  
## mtry               1   -none-     numeric  
## forest            11   -none-     list     
## coefs              0   -none-     NULL     
## y               1859   -none-     numeric  
## test               0   -none-     NULL     
## inbag              0   -none-     NULL     
## xNames           101   -none-     character
## problemType        1   -none-     character
## tuneValue          1   data.frame list     
## obsLevels          1   -none-     logical  
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##                     model_id model_method
## 1 All.Interact.X.no.rnorm.rf           rf
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               3                     81.283                28.481
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.9276379     99.81446    0.5301108     118.7819        0.6555804
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       7.629279         0.05368373
# User specified
#   Ensure at least 2 vars in each regression; else varImp crashes
# sav_models_lst <- glb_models_lst; sav_models_df <- glb_models_df; sav_featsimp_df <- glb_featsimp_df
# glb_models_lst <- sav_models_lst; glb_models_df <- sav_models_df; glm_featsimp_df <- sav_featsimp_df

    # easier to exclude features
# require(gdata) # needed for trim
# model_id <- "";
# indep_vars_vctr <- head(subset(glb_models_df, grepl("All\\.X\\.", model_id), select=feats)
#                         , 1)[, "feats"]
# indep_vars_vctr <- trim(unlist(strsplit(indep_vars_vctr, "[,]")))
# indep_vars_vctr <- setdiff(indep_vars_vctr, ".rnorm")

    # easier to include features
#stop(here"); sav_models_df <- glb_models_df; glb_models_df <- sav_models_df
model_id <- "csm"; indep_vars_vctr <- c(NULL
    ,"prdline.my.fctr", "prdline.my.fctr:.clusterid.fctr"
    ,"prdline.my.fctr*biddable"
    # ,"prdline.my.fctr*startprice.log"
    #,"prdline.my.fctr*idseq.my"   
    ,"prdline.my.fctr*condition.fctr"
    ,"prdline.my.fctr*D.terms.n.post.stop"
    #,"prdline.my.fctr*D.terms.n.post.stem"
    ,"prdline.my.fctr*cellular.fctr"    
#    ,"<feat1>:<feat2>"
                                           )
for (method in glb_models_method_vctr) {
    ret_lst <- myfit_mdl(model_id=model_id, model_method=method,
                                indep_vars_vctr=indep_vars_vctr,
                                model_type=glb_model_type,
                                rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
                                fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
                    n_cv_folds=glb_n_cv_folds, tune_models_df=glb_tune_models_df)
    csm_mdl_id <- paste0(model_id, ".", method)
    csm_featsimp_df <- myget_feats_importance(glb_models_lst[[paste0(model_id, ".",
                                                                     method)]]);               print(head(csm_featsimp_df))
}
## [1] "fitting model: csm.lm"
## [1] "    indep_vars: prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr"
## Aggregating results
## Fitting final model on full training set
## Warning: not plotting observations with leverage one:
##   582, 892, 1450

## Warning: not plotting observations with leverage one:
##   582, 892, 1450

## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -379.13  -55.01   -9.94   45.44  781.58 
## 
## Coefficients: (7 not defined because of singularities)
##                                                                     Estimate
## (Intercept)                                                          192.097
## `prdline.my.fctriPad 1`                                              -88.368
## `prdline.my.fctriPad 2`                                               -9.767
## `prdline.my.fctriPad 3+`                                              70.157
## prdline.my.fctriPadAir                                               219.826
## prdline.my.fctriPadmini                                               25.319
## `prdline.my.fctriPadmini 2+`                                          75.655
## biddable                                                             -71.512
## `condition.fctrFor parts or not working`                             -43.705
## `condition.fctrManufacturer refurbished`                             -14.741
## condition.fctrNew                                                     84.868
## `condition.fctrNew other (see details)`                              115.526
## `condition.fctrSeller refurbished`                                     8.620
## D.terms.n.post.stop                                                   -5.883
## cellular.fctr1                                                        44.147
## cellular.fctrUnknown                                                 -10.660
## `prdline.my.fctrUnknown:.clusterid.fctr2`                             67.726
## `prdline.my.fctriPad 1:.clusterid.fctr2`                              -5.586
## `prdline.my.fctriPad 2:.clusterid.fctr2`                              -4.052
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                             16.806
## `prdline.my.fctriPadAir:.clusterid.fctr2`                            -33.542
## `prdline.my.fctriPadmini:.clusterid.fctr2`                            13.835
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                         29.463
## `prdline.my.fctrUnknown:.clusterid.fctr3`                              6.243
## `prdline.my.fctriPad 1:.clusterid.fctr3`                               6.142
## `prdline.my.fctriPad 2:.clusterid.fctr3`                              37.002
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                             -5.963
## `prdline.my.fctriPadAir:.clusterid.fctr3`                             -6.826
## `prdline.my.fctriPadmini:.clusterid.fctr3`                             7.416
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                        -28.715
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                              13.926
## `prdline.my.fctriPad 2:.clusterid.fctr4`                             -31.624
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                              6.718
## `prdline.my.fctriPadAir:.clusterid.fctr4`                             10.025
## `prdline.my.fctriPadmini:.clusterid.fctr4`                            23.297
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                             NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                  NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                              19.806
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                            52.835
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                             NA
## `prdline.my.fctriPad 1:biddable`                                      15.800
## `prdline.my.fctriPad 2:biddable`                                     -34.995
## `prdline.my.fctriPad 3+:biddable`                                    -65.942
## `prdline.my.fctriPadAir:biddable`                                   -144.150
## `prdline.my.fctriPadmini:biddable`                                   -40.960
## `prdline.my.fctriPadmini 2+:biddable`                                -53.093
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`         7.159
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`        -2.193
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`      -56.906
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`      -94.217
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`     -39.773
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`  -69.917
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`       -54.694
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`        46.556
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`       26.370
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`       47.056
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`      24.733
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`   82.206
## `prdline.my.fctriPad 1:condition.fctrNew`                             94.215
## `prdline.my.fctriPad 2:condition.fctrNew`                           -180.922
## `prdline.my.fctriPad 3+:condition.fctrNew`                            58.321
## `prdline.my.fctriPadAir:condition.fctrNew`                            43.960
## `prdline.my.fctriPadmini:condition.fctrNew`                          -26.299
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                        51.893
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`       -102.468
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`        -51.817
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`       -17.556
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`       -61.708
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`      -90.598
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`   -18.055
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`             -36.259
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`             -14.935
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`             -9.427
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`            -36.413
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`             2.556
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`        -61.370
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                            5.811
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                            4.696
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                           5.364
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                           3.607
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                          2.370
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                       6.962
## `prdline.my.fctriPad 1:cellular.fctr1`                               -21.738
## `prdline.my.fctriPad 2:cellular.fctr1`                               -25.373
## `prdline.my.fctriPad 3+:cellular.fctr1`                              -26.318
## `prdline.my.fctriPadAir:cellular.fctr1`                               10.890
## `prdline.my.fctriPadmini:cellular.fctr1`                               5.218
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                           49.048
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                          38.462
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                          -5.626
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                        -12.748
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                        -68.227
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                        10.259
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                     14.354
##                                                                     Std. Error
## (Intercept)                                                             20.986
## `prdline.my.fctriPad 1`                                                 25.086
## `prdline.my.fctriPad 2`                                                 25.214
## `prdline.my.fctriPad 3+`                                                25.451
## prdline.my.fctriPadAir                                                  24.625
## prdline.my.fctriPadmini                                                 24.894
## `prdline.my.fctriPadmini 2+`                                            27.031
## biddable                                                                16.538
## `condition.fctrFor parts or not working`                                23.944
## `condition.fctrManufacturer refurbished`                               112.756
## condition.fctrNew                                                       22.295
## `condition.fctrNew other (see details)`                                 55.793
## `condition.fctrSeller refurbished`                                      36.253
## D.terms.n.post.stop                                                      3.273
## cellular.fctr1                                                          34.683
## cellular.fctrUnknown                                                    19.876
## `prdline.my.fctrUnknown:.clusterid.fctr2`                               29.213
## `prdline.my.fctriPad 1:.clusterid.fctr2`                                31.661
## `prdline.my.fctriPad 2:.clusterid.fctr2`                                22.625
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                               21.061
## `prdline.my.fctriPadAir:.clusterid.fctr2`                               24.167
## `prdline.my.fctriPadmini:.clusterid.fctr2`                              28.588
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                           44.813
## `prdline.my.fctrUnknown:.clusterid.fctr3`                               33.598
## `prdline.my.fctriPad 1:.clusterid.fctr3`                                32.480
## `prdline.my.fctriPad 2:.clusterid.fctr3`                                31.525
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                               22.870
## `prdline.my.fctriPadAir:.clusterid.fctr3`                               28.414
## `prdline.my.fctriPadmini:.clusterid.fctr3`                              31.087
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                           39.722
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                   NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                                32.689
## `prdline.my.fctriPad 2:.clusterid.fctr4`                                31.252
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                               23.699
## `prdline.my.fctriPadAir:.clusterid.fctr4`                               28.134
## `prdline.my.fctriPadmini:.clusterid.fctr4`                              34.296
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                               NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                   NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                    NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                                33.928
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                   NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                   NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                              38.037
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                               NA
## `prdline.my.fctriPad 1:biddable`                                        22.119
## `prdline.my.fctriPad 2:biddable`                                        21.327
## `prdline.my.fctriPad 3+:biddable`                                       21.480
## `prdline.my.fctriPadAir:biddable`                                       20.403
## `prdline.my.fctriPadmini:biddable`                                      21.495
## `prdline.my.fctriPadmini 2+:biddable`                                   23.232
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`          37.100
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`          31.221
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`         31.811
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`         36.205
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`        30.681
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`     60.515
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`         156.585
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`         122.978
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`        117.260
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`        118.921
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`       120.427
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`    126.053
## `prdline.my.fctriPad 1:condition.fctrNew`                               47.820
## `prdline.my.fctriPad 2:condition.fctrNew`                              115.432
## `prdline.my.fctriPad 3+:condition.fctrNew`                              45.394
## `prdline.my.fctriPadAir:condition.fctrNew`                              26.772
## `prdline.my.fctriPadmini:condition.fctrNew`                             30.017
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                          29.207
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`           84.086
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`           68.125
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`          63.276
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`          60.513
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`         66.754
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`      63.207
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`                45.350
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`                44.649
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`               42.642
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`               46.570
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`              48.122
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`           61.864
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                              4.540
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                              4.032
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                             3.891
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                             4.050
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                            4.445
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                         5.497
## `prdline.my.fctriPad 1:cellular.fctr1`                                  38.118
## `prdline.my.fctriPad 2:cellular.fctr1`                                  37.770
## `prdline.my.fctriPad 3+:cellular.fctr1`                                 37.160
## `prdline.my.fctriPadAir:cellular.fctr1`                                 36.877
## `prdline.my.fctriPadmini:cellular.fctr1`                                38.336
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                             38.937
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                            41.274
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                            40.552
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                           33.431
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                           35.081
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                          36.478
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                       37.477
##                                                                     t value
## (Intercept)                                                           9.154
## `prdline.my.fctriPad 1`                                              -3.523
## `prdline.my.fctriPad 2`                                              -0.387
## `prdline.my.fctriPad 3+`                                              2.757
## prdline.my.fctriPadAir                                                8.927
## prdline.my.fctriPadmini                                               1.017
## `prdline.my.fctriPadmini 2+`                                          2.799
## biddable                                                             -4.324
## `condition.fctrFor parts or not working`                             -1.825
## `condition.fctrManufacturer refurbished`                             -0.131
## condition.fctrNew                                                     3.807
## `condition.fctrNew other (see details)`                               2.071
## `condition.fctrSeller refurbished`                                    0.238
## D.terms.n.post.stop                                                  -1.797
## cellular.fctr1                                                        1.273
## cellular.fctrUnknown                                                 -0.536
## `prdline.my.fctrUnknown:.clusterid.fctr2`                             2.318
## `prdline.my.fctriPad 1:.clusterid.fctr2`                             -0.176
## `prdline.my.fctriPad 2:.clusterid.fctr2`                             -0.179
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                             0.798
## `prdline.my.fctriPadAir:.clusterid.fctr2`                            -1.388
## `prdline.my.fctriPadmini:.clusterid.fctr2`                            0.484
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                         0.657
## `prdline.my.fctrUnknown:.clusterid.fctr3`                             0.186
## `prdline.my.fctriPad 1:.clusterid.fctr3`                              0.189
## `prdline.my.fctriPad 2:.clusterid.fctr3`                              1.174
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                            -0.261
## `prdline.my.fctriPadAir:.clusterid.fctr3`                            -0.240
## `prdline.my.fctriPadmini:.clusterid.fctr3`                            0.239
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                        -0.723
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                              0.426
## `prdline.my.fctriPad 2:.clusterid.fctr4`                             -1.012
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                             0.283
## `prdline.my.fctriPadAir:.clusterid.fctr4`                             0.356
## `prdline.my.fctriPadmini:.clusterid.fctr4`                            0.679
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                            NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                              0.584
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                            1.389
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                            NA
## `prdline.my.fctriPad 1:biddable`                                      0.714
## `prdline.my.fctriPad 2:biddable`                                     -1.641
## `prdline.my.fctriPad 3+:biddable`                                    -3.070
## `prdline.my.fctriPadAir:biddable`                                    -7.065
## `prdline.my.fctriPadmini:biddable`                                   -1.906
## `prdline.my.fctriPadmini 2+:biddable`                                -2.285
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`        0.193
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`       -0.070
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`      -1.789
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`      -2.602
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`     -1.296
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`  -1.155
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`       -0.349
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`        0.379
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`       0.225
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`       0.396
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`      0.205
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`   0.652
## `prdline.my.fctriPad 1:condition.fctrNew`                             1.970
## `prdline.my.fctriPad 2:condition.fctrNew`                            -1.567
## `prdline.my.fctriPad 3+:condition.fctrNew`                            1.285
## `prdline.my.fctriPadAir:condition.fctrNew`                            1.642
## `prdline.my.fctriPadmini:condition.fctrNew`                          -0.876
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                        1.777
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`        -1.219
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`        -0.761
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`       -0.277
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`       -1.020
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`      -1.357
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`   -0.286
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`             -0.800
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`             -0.334
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`            -0.221
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`            -0.782
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`            0.053
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`        -0.992
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                           1.280
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                           1.165
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                          1.379
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                          0.891
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                         0.533
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                      1.266
## `prdline.my.fctriPad 1:cellular.fctr1`                               -0.570
## `prdline.my.fctriPad 2:cellular.fctr1`                               -0.672
## `prdline.my.fctriPad 3+:cellular.fctr1`                              -0.708
## `prdline.my.fctriPadAir:cellular.fctr1`                               0.295
## `prdline.my.fctriPadmini:cellular.fctr1`                              0.136
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                           1.260
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                          0.932
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                         -0.139
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                        -0.381
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                        -1.945
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                        0.281
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                     0.383
##                                                                     Pr(>|t|)
## (Intercept)                                                          < 2e-16
## `prdline.my.fctriPad 1`                                             0.000438
## `prdline.my.fctriPad 2`                                             0.698551
## `prdline.my.fctriPad 3+`                                            0.005900
## prdline.my.fctriPadAir                                               < 2e-16
## prdline.my.fctriPadmini                                             0.309248
## `prdline.my.fctriPadmini 2+`                                        0.005184
## biddable                                                            1.62e-05
## `condition.fctrFor parts or not working`                            0.068128
## `condition.fctrManufacturer refurbished`                            0.896003
## condition.fctrNew                                                   0.000146
## `condition.fctrNew other (see details)`                             0.038539
## `condition.fctrSeller refurbished`                                  0.812097
## D.terms.n.post.stop                                                 0.072454
## cellular.fctr1                                                      0.203236
## cellular.fctrUnknown                                                0.591814
## `prdline.my.fctrUnknown:.clusterid.fctr2`                           0.020544
## `prdline.my.fctriPad 1:.clusterid.fctr2`                            0.859968
## `prdline.my.fctriPad 2:.clusterid.fctr2`                            0.857884
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                           0.424987
## `prdline.my.fctriPadAir:.clusterid.fctr2`                           0.165336
## `prdline.my.fctriPadmini:.clusterid.fctr2`                          0.628476
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                       0.510965
## `prdline.my.fctrUnknown:.clusterid.fctr3`                           0.852620
## `prdline.my.fctriPad 1:.clusterid.fctr3`                            0.850026
## `prdline.my.fctriPad 2:.clusterid.fctr3`                            0.240662
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                           0.794335
## `prdline.my.fctriPadAir:.clusterid.fctr3`                           0.810176
## `prdline.my.fctriPadmini:.clusterid.fctr3`                          0.811479
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                       0.469847
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                            0.670146
## `prdline.my.fctriPad 2:.clusterid.fctr4`                            0.311728
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                           0.776837
## `prdline.my.fctriPadAir:.clusterid.fctr4`                           0.721636
## `prdline.my.fctriPadmini:.clusterid.fctr4`                          0.497036
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                             NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                  NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                            0.559462
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                          0.164995
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                             NA
## `prdline.my.fctriPad 1:biddable`                                    0.475138
## `prdline.my.fctriPad 2:biddable`                                    0.100996
## `prdline.my.fctriPad 3+:biddable`                                   0.002174
## `prdline.my.fctriPadAir:biddable`                                   2.30e-12
## `prdline.my.fctriPadmini:biddable`                                  0.056869
## `prdline.my.fctriPadmini 2+:biddable`                               0.022410
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`      0.847009
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`      0.944017
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`     0.073807
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`     0.009336
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`    0.195031
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working` 0.248096
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`      0.726911
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`      0.705053
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`     0.822094
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`     0.692378
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`    0.837304
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished` 0.514383
## `prdline.my.fctriPad 1:condition.fctrNew`                           0.048972
## `prdline.my.fctriPad 2:condition.fctrNew`                           0.117213
## `prdline.my.fctriPad 3+:condition.fctrNew`                          0.199041
## `prdline.my.fctriPadAir:condition.fctrNew`                          0.100767
## `prdline.my.fctriPadmini:condition.fctrNew`                         0.381064
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                      0.075781
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`       0.223157
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`       0.446989
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`      0.781465
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`      0.307987
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`     0.174893
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`  0.775178
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`            0.424079
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`            0.738051
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`           0.825059
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`           0.434378
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`          0.957647
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`       0.321330
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                         0.200718
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                         0.244213
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                        0.168173
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                        0.373314
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                       0.593899
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                    0.205522
## `prdline.my.fctriPad 1:cellular.fctr1`                              0.568558
## `prdline.my.fctriPad 2:cellular.fctr1`                              0.501819
## `prdline.my.fctriPad 3+:cellular.fctr1`                             0.478895
## `prdline.my.fctriPadAir:cellular.fctr1`                             0.767789
## `prdline.my.fctriPadmini:cellular.fctr1`                            0.891756
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                         0.207944
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                        0.351540
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                        0.889674
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                       0.703008
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                       0.051952
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                      0.778572
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                   0.701764
##                                                                        
## (Intercept)                                                         ***
## `prdline.my.fctriPad 1`                                             ***
## `prdline.my.fctriPad 2`                                                
## `prdline.my.fctriPad 3+`                                            ** 
## prdline.my.fctriPadAir                                              ***
## prdline.my.fctriPadmini                                                
## `prdline.my.fctriPadmini 2+`                                        ** 
## biddable                                                            ***
## `condition.fctrFor parts or not working`                            .  
## `condition.fctrManufacturer refurbished`                               
## condition.fctrNew                                                   ***
## `condition.fctrNew other (see details)`                             *  
## `condition.fctrSeller refurbished`                                     
## D.terms.n.post.stop                                                 .  
## cellular.fctr1                                                         
## cellular.fctrUnknown                                                   
## `prdline.my.fctrUnknown:.clusterid.fctr2`                           *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`                               
## `prdline.my.fctriPad 2:.clusterid.fctr2`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                              
## `prdline.my.fctriPadAir:.clusterid.fctr2`                              
## `prdline.my.fctriPadmini:.clusterid.fctr2`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                          
## `prdline.my.fctrUnknown:.clusterid.fctr3`                              
## `prdline.my.fctriPad 1:.clusterid.fctr3`                               
## `prdline.my.fctriPad 2:.clusterid.fctr3`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                              
## `prdline.my.fctriPadAir:.clusterid.fctr3`                              
## `prdline.my.fctriPadmini:.clusterid.fctr3`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                          
## `prdline.my.fctrUnknown:.clusterid.fctr4`                              
## `prdline.my.fctriPad 1:.clusterid.fctr4`                               
## `prdline.my.fctriPad 2:.clusterid.fctr4`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                              
## `prdline.my.fctriPadAir:.clusterid.fctr4`                              
## `prdline.my.fctriPadmini:.clusterid.fctr4`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                          
## `prdline.my.fctrUnknown:.clusterid.fctr5`                              
## `prdline.my.fctriPad 1:.clusterid.fctr5`                               
## `prdline.my.fctriPad 2:.clusterid.fctr5`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                              
## `prdline.my.fctriPadAir:.clusterid.fctr5`                              
## `prdline.my.fctriPadmini:.clusterid.fctr5`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                          
## `prdline.my.fctriPad 1:biddable`                                       
## `prdline.my.fctriPad 2:biddable`                                       
## `prdline.my.fctriPad 3+:biddable`                                   ** 
## `prdline.my.fctriPadAir:biddable`                                   ***
## `prdline.my.fctriPadmini:biddable`                                  .  
## `prdline.my.fctriPadmini 2+:biddable`                               *  
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`         
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`         
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`     .  
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`     ** 
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`       
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`    
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`         
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`         
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`        
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`        
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`       
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`    
## `prdline.my.fctriPad 1:condition.fctrNew`                           *  
## `prdline.my.fctriPad 2:condition.fctrNew`                              
## `prdline.my.fctriPad 3+:condition.fctrNew`                             
## `prdline.my.fctriPadAir:condition.fctrNew`                             
## `prdline.my.fctriPadmini:condition.fctrNew`                            
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                      .  
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`          
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`          
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`         
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`         
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`        
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`     
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`               
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`               
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`              
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`              
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`             
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`          
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                            
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                            
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                           
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                           
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                          
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                       
## `prdline.my.fctriPad 1:cellular.fctr1`                                 
## `prdline.my.fctriPad 2:cellular.fctr1`                                 
## `prdline.my.fctriPad 3+:cellular.fctr1`                                
## `prdline.my.fctriPadAir:cellular.fctr1`                                
## `prdline.my.fctriPadmini:cellular.fctr1`                               
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                            
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                           
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                           
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                          
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                       .  
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                         
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 107.5 on 1768 degrees of freedom
## Multiple R-squared:  0.6212, Adjusted R-squared:  0.6019 
## F-statistic: 32.22 on 90 and 1768 DF,  p-value: < 2.2e-16
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(modelFit, newdata): prediction from a rank-deficient
## fit may be misleading
##   model_id model_method
## 1   csm.lm           lm
##                                                                                                                                                                            feats
## 1 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.269                 0.073
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Adj.R.sq.fit
## 1    0.6212169     111.2592    0.5420392     117.2598         0.601935
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.5752187       5.391855         0.04061329
##                                   importance
## prdline.my.fctriPadAir             100.00000
## `prdline.my.fctriPadAir:biddable`   79.02049
## biddable                            48.13018
## condition.fctrNew                   42.29953
## `prdline.my.fctriPad 1`             39.09915
## `prdline.my.fctriPad 3+:biddable`   33.99736
## [1] "fitting model: csm.glm"
## [1] "    indep_vars: prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr"
## Aggregating results
## Fitting final model on full training set
## Warning: not plotting observations with leverage one:
##   582, 892, 1450

## Warning: not plotting observations with leverage one:
##   582, 892, 1450

## 
## Call:
## NULL
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -379.13   -55.01    -9.94    45.44   781.58  
## 
## Coefficients: (7 not defined because of singularities)
##                                                                     Estimate
## (Intercept)                                                          192.097
## `prdline.my.fctriPad 1`                                              -88.368
## `prdline.my.fctriPad 2`                                               -9.767
## `prdline.my.fctriPad 3+`                                              70.157
## prdline.my.fctriPadAir                                               219.826
## prdline.my.fctriPadmini                                               25.319
## `prdline.my.fctriPadmini 2+`                                          75.655
## biddable                                                             -71.512
## `condition.fctrFor parts or not working`                             -43.705
## `condition.fctrManufacturer refurbished`                             -14.741
## condition.fctrNew                                                     84.868
## `condition.fctrNew other (see details)`                              115.526
## `condition.fctrSeller refurbished`                                     8.620
## D.terms.n.post.stop                                                   -5.883
## cellular.fctr1                                                        44.147
## cellular.fctrUnknown                                                 -10.660
## `prdline.my.fctrUnknown:.clusterid.fctr2`                             67.726
## `prdline.my.fctriPad 1:.clusterid.fctr2`                              -5.586
## `prdline.my.fctriPad 2:.clusterid.fctr2`                              -4.052
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                             16.806
## `prdline.my.fctriPadAir:.clusterid.fctr2`                            -33.542
## `prdline.my.fctriPadmini:.clusterid.fctr2`                            13.835
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                         29.463
## `prdline.my.fctrUnknown:.clusterid.fctr3`                              6.243
## `prdline.my.fctriPad 1:.clusterid.fctr3`                               6.142
## `prdline.my.fctriPad 2:.clusterid.fctr3`                              37.002
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                             -5.963
## `prdline.my.fctriPadAir:.clusterid.fctr3`                             -6.826
## `prdline.my.fctriPadmini:.clusterid.fctr3`                             7.416
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                        -28.715
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                              13.926
## `prdline.my.fctriPad 2:.clusterid.fctr4`                             -31.624
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                              6.718
## `prdline.my.fctriPadAir:.clusterid.fctr4`                             10.025
## `prdline.my.fctriPadmini:.clusterid.fctr4`                            23.297
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                             NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                  NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                              19.806
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                            52.835
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                             NA
## `prdline.my.fctriPad 1:biddable`                                      15.800
## `prdline.my.fctriPad 2:biddable`                                     -34.995
## `prdline.my.fctriPad 3+:biddable`                                    -65.942
## `prdline.my.fctriPadAir:biddable`                                   -144.150
## `prdline.my.fctriPadmini:biddable`                                   -40.960
## `prdline.my.fctriPadmini 2+:biddable`                                -53.093
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`         7.159
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`        -2.193
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`      -56.906
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`      -94.217
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`     -39.773
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`  -69.917
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`       -54.694
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`        46.556
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`       26.370
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`       47.056
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`      24.733
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`   82.206
## `prdline.my.fctriPad 1:condition.fctrNew`                             94.215
## `prdline.my.fctriPad 2:condition.fctrNew`                           -180.922
## `prdline.my.fctriPad 3+:condition.fctrNew`                            58.321
## `prdline.my.fctriPadAir:condition.fctrNew`                            43.960
## `prdline.my.fctriPadmini:condition.fctrNew`                          -26.299
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                        51.893
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`       -102.468
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`        -51.817
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`       -17.556
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`       -61.708
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`      -90.598
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`   -18.055
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`             -36.259
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`             -14.935
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`             -9.427
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`            -36.413
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`             2.556
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`        -61.370
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                            5.811
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                            4.696
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                           5.364
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                           3.607
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                          2.370
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                       6.962
## `prdline.my.fctriPad 1:cellular.fctr1`                               -21.738
## `prdline.my.fctriPad 2:cellular.fctr1`                               -25.373
## `prdline.my.fctriPad 3+:cellular.fctr1`                              -26.318
## `prdline.my.fctriPadAir:cellular.fctr1`                               10.890
## `prdline.my.fctriPadmini:cellular.fctr1`                               5.218
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                           49.048
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                          38.462
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                          -5.626
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                        -12.748
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                        -68.227
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                        10.259
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                     14.354
##                                                                     Std. Error
## (Intercept)                                                             20.986
## `prdline.my.fctriPad 1`                                                 25.086
## `prdline.my.fctriPad 2`                                                 25.214
## `prdline.my.fctriPad 3+`                                                25.451
## prdline.my.fctriPadAir                                                  24.625
## prdline.my.fctriPadmini                                                 24.894
## `prdline.my.fctriPadmini 2+`                                            27.031
## biddable                                                                16.538
## `condition.fctrFor parts or not working`                                23.944
## `condition.fctrManufacturer refurbished`                               112.756
## condition.fctrNew                                                       22.295
## `condition.fctrNew other (see details)`                                 55.793
## `condition.fctrSeller refurbished`                                      36.253
## D.terms.n.post.stop                                                      3.273
## cellular.fctr1                                                          34.683
## cellular.fctrUnknown                                                    19.876
## `prdline.my.fctrUnknown:.clusterid.fctr2`                               29.213
## `prdline.my.fctriPad 1:.clusterid.fctr2`                                31.661
## `prdline.my.fctriPad 2:.clusterid.fctr2`                                22.625
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                               21.061
## `prdline.my.fctriPadAir:.clusterid.fctr2`                               24.167
## `prdline.my.fctriPadmini:.clusterid.fctr2`                              28.588
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                           44.813
## `prdline.my.fctrUnknown:.clusterid.fctr3`                               33.598
## `prdline.my.fctriPad 1:.clusterid.fctr3`                                32.480
## `prdline.my.fctriPad 2:.clusterid.fctr3`                                31.525
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                               22.870
## `prdline.my.fctriPadAir:.clusterid.fctr3`                               28.414
## `prdline.my.fctriPadmini:.clusterid.fctr3`                              31.087
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                           39.722
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                   NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                                32.689
## `prdline.my.fctriPad 2:.clusterid.fctr4`                                31.252
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                               23.699
## `prdline.my.fctriPadAir:.clusterid.fctr4`                               28.134
## `prdline.my.fctriPadmini:.clusterid.fctr4`                              34.296
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                               NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                   NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                    NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                                33.928
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                   NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                   NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                              38.037
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                               NA
## `prdline.my.fctriPad 1:biddable`                                        22.119
## `prdline.my.fctriPad 2:biddable`                                        21.327
## `prdline.my.fctriPad 3+:biddable`                                       21.480
## `prdline.my.fctriPadAir:biddable`                                       20.403
## `prdline.my.fctriPadmini:biddable`                                      21.495
## `prdline.my.fctriPadmini 2+:biddable`                                   23.232
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`          37.100
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`          31.221
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`         31.811
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`         36.205
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`        30.681
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`     60.515
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`         156.585
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`         122.978
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`        117.260
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`        118.921
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`       120.427
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`    126.053
## `prdline.my.fctriPad 1:condition.fctrNew`                               47.820
## `prdline.my.fctriPad 2:condition.fctrNew`                              115.432
## `prdline.my.fctriPad 3+:condition.fctrNew`                              45.394
## `prdline.my.fctriPadAir:condition.fctrNew`                              26.772
## `prdline.my.fctriPadmini:condition.fctrNew`                             30.017
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                          29.207
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`           84.086
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`           68.125
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`          63.276
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`          60.513
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`         66.754
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`      63.207
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`                45.350
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`                44.649
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`               42.642
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`               46.570
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`              48.122
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`           61.864
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                              4.540
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                              4.032
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                             3.891
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                             4.050
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                            4.445
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                         5.497
## `prdline.my.fctriPad 1:cellular.fctr1`                                  38.118
## `prdline.my.fctriPad 2:cellular.fctr1`                                  37.770
## `prdline.my.fctriPad 3+:cellular.fctr1`                                 37.160
## `prdline.my.fctriPadAir:cellular.fctr1`                                 36.877
## `prdline.my.fctriPadmini:cellular.fctr1`                                38.336
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                             38.937
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                            41.274
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                            40.552
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                           33.431
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                           35.081
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                          36.478
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                       37.477
##                                                                     t value
## (Intercept)                                                           9.154
## `prdline.my.fctriPad 1`                                              -3.523
## `prdline.my.fctriPad 2`                                              -0.387
## `prdline.my.fctriPad 3+`                                              2.757
## prdline.my.fctriPadAir                                                8.927
## prdline.my.fctriPadmini                                               1.017
## `prdline.my.fctriPadmini 2+`                                          2.799
## biddable                                                             -4.324
## `condition.fctrFor parts or not working`                             -1.825
## `condition.fctrManufacturer refurbished`                             -0.131
## condition.fctrNew                                                     3.807
## `condition.fctrNew other (see details)`                               2.071
## `condition.fctrSeller refurbished`                                    0.238
## D.terms.n.post.stop                                                  -1.797
## cellular.fctr1                                                        1.273
## cellular.fctrUnknown                                                 -0.536
## `prdline.my.fctrUnknown:.clusterid.fctr2`                             2.318
## `prdline.my.fctriPad 1:.clusterid.fctr2`                             -0.176
## `prdline.my.fctriPad 2:.clusterid.fctr2`                             -0.179
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                             0.798
## `prdline.my.fctriPadAir:.clusterid.fctr2`                            -1.388
## `prdline.my.fctriPadmini:.clusterid.fctr2`                            0.484
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                         0.657
## `prdline.my.fctrUnknown:.clusterid.fctr3`                             0.186
## `prdline.my.fctriPad 1:.clusterid.fctr3`                              0.189
## `prdline.my.fctriPad 2:.clusterid.fctr3`                              1.174
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                            -0.261
## `prdline.my.fctriPadAir:.clusterid.fctr3`                            -0.240
## `prdline.my.fctriPadmini:.clusterid.fctr3`                            0.239
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                        -0.723
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                              0.426
## `prdline.my.fctriPad 2:.clusterid.fctr4`                             -1.012
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                             0.283
## `prdline.my.fctriPadAir:.clusterid.fctr4`                             0.356
## `prdline.my.fctriPadmini:.clusterid.fctr4`                            0.679
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                            NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                              0.584
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                            1.389
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                            NA
## `prdline.my.fctriPad 1:biddable`                                      0.714
## `prdline.my.fctriPad 2:biddable`                                     -1.641
## `prdline.my.fctriPad 3+:biddable`                                    -3.070
## `prdline.my.fctriPadAir:biddable`                                    -7.065
## `prdline.my.fctriPadmini:biddable`                                   -1.906
## `prdline.my.fctriPadmini 2+:biddable`                                -2.285
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`        0.193
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`       -0.070
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`      -1.789
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`      -2.602
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`     -1.296
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`  -1.155
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`       -0.349
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`        0.379
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`       0.225
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`       0.396
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`      0.205
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`   0.652
## `prdline.my.fctriPad 1:condition.fctrNew`                             1.970
## `prdline.my.fctriPad 2:condition.fctrNew`                            -1.567
## `prdline.my.fctriPad 3+:condition.fctrNew`                            1.285
## `prdline.my.fctriPadAir:condition.fctrNew`                            1.642
## `prdline.my.fctriPadmini:condition.fctrNew`                          -0.876
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                        1.777
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`        -1.219
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`        -0.761
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`       -0.277
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`       -1.020
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`      -1.357
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`   -0.286
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`             -0.800
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`             -0.334
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`            -0.221
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`            -0.782
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`            0.053
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`        -0.992
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                           1.280
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                           1.165
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                          1.379
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                          0.891
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                         0.533
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                      1.266
## `prdline.my.fctriPad 1:cellular.fctr1`                               -0.570
## `prdline.my.fctriPad 2:cellular.fctr1`                               -0.672
## `prdline.my.fctriPad 3+:cellular.fctr1`                              -0.708
## `prdline.my.fctriPadAir:cellular.fctr1`                               0.295
## `prdline.my.fctriPadmini:cellular.fctr1`                              0.136
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                           1.260
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                          0.932
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                         -0.139
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                        -0.381
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                        -1.945
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                        0.281
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                     0.383
##                                                                     Pr(>|t|)
## (Intercept)                                                          < 2e-16
## `prdline.my.fctriPad 1`                                             0.000438
## `prdline.my.fctriPad 2`                                             0.698551
## `prdline.my.fctriPad 3+`                                            0.005900
## prdline.my.fctriPadAir                                               < 2e-16
## prdline.my.fctriPadmini                                             0.309248
## `prdline.my.fctriPadmini 2+`                                        0.005184
## biddable                                                            1.62e-05
## `condition.fctrFor parts or not working`                            0.068128
## `condition.fctrManufacturer refurbished`                            0.896003
## condition.fctrNew                                                   0.000146
## `condition.fctrNew other (see details)`                             0.038539
## `condition.fctrSeller refurbished`                                  0.812097
## D.terms.n.post.stop                                                 0.072454
## cellular.fctr1                                                      0.203236
## cellular.fctrUnknown                                                0.591814
## `prdline.my.fctrUnknown:.clusterid.fctr2`                           0.020544
## `prdline.my.fctriPad 1:.clusterid.fctr2`                            0.859968
## `prdline.my.fctriPad 2:.clusterid.fctr2`                            0.857884
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                           0.424987
## `prdline.my.fctriPadAir:.clusterid.fctr2`                           0.165336
## `prdline.my.fctriPadmini:.clusterid.fctr2`                          0.628476
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                       0.510965
## `prdline.my.fctrUnknown:.clusterid.fctr3`                           0.852620
## `prdline.my.fctriPad 1:.clusterid.fctr3`                            0.850026
## `prdline.my.fctriPad 2:.clusterid.fctr3`                            0.240662
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                           0.794335
## `prdline.my.fctriPadAir:.clusterid.fctr3`                           0.810176
## `prdline.my.fctriPadmini:.clusterid.fctr3`                          0.811479
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                       0.469847
## `prdline.my.fctrUnknown:.clusterid.fctr4`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr4`                            0.670146
## `prdline.my.fctriPad 2:.clusterid.fctr4`                            0.311728
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                           0.776837
## `prdline.my.fctriPadAir:.clusterid.fctr4`                           0.721636
## `prdline.my.fctriPadmini:.clusterid.fctr4`                          0.497036
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                             NA
## `prdline.my.fctrUnknown:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPad 1:.clusterid.fctr5`                                  NA
## `prdline.my.fctriPad 2:.clusterid.fctr5`                            0.559462
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadAir:.clusterid.fctr5`                                 NA
## `prdline.my.fctriPadmini:.clusterid.fctr5`                          0.164995
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                             NA
## `prdline.my.fctriPad 1:biddable`                                    0.475138
## `prdline.my.fctriPad 2:biddable`                                    0.100996
## `prdline.my.fctriPad 3+:biddable`                                   0.002174
## `prdline.my.fctriPadAir:biddable`                                   2.30e-12
## `prdline.my.fctriPadmini:biddable`                                  0.056869
## `prdline.my.fctriPadmini 2+:biddable`                               0.022410
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`      0.847009
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`      0.944017
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`     0.073807
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`     0.009336
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`    0.195031
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working` 0.248096
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`      0.726911
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`      0.705053
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`     0.822094
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`     0.692378
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`    0.837304
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished` 0.514383
## `prdline.my.fctriPad 1:condition.fctrNew`                           0.048972
## `prdline.my.fctriPad 2:condition.fctrNew`                           0.117213
## `prdline.my.fctriPad 3+:condition.fctrNew`                          0.199041
## `prdline.my.fctriPadAir:condition.fctrNew`                          0.100767
## `prdline.my.fctriPadmini:condition.fctrNew`                         0.381064
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                      0.075781
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`       0.223157
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`       0.446989
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`      0.781465
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`      0.307987
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`     0.174893
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`  0.775178
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`            0.424079
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`            0.738051
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`           0.825059
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`           0.434378
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`          0.957647
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`       0.321330
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                         0.200718
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                         0.244213
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                        0.168173
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                        0.373314
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                       0.593899
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                    0.205522
## `prdline.my.fctriPad 1:cellular.fctr1`                              0.568558
## `prdline.my.fctriPad 2:cellular.fctr1`                              0.501819
## `prdline.my.fctriPad 3+:cellular.fctr1`                             0.478895
## `prdline.my.fctriPadAir:cellular.fctr1`                             0.767789
## `prdline.my.fctriPadmini:cellular.fctr1`                            0.891756
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                         0.207944
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                        0.351540
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                        0.889674
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                       0.703008
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                       0.051952
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                      0.778572
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                   0.701764
##                                                                        
## (Intercept)                                                         ***
## `prdline.my.fctriPad 1`                                             ***
## `prdline.my.fctriPad 2`                                                
## `prdline.my.fctriPad 3+`                                            ** 
## prdline.my.fctriPadAir                                              ***
## prdline.my.fctriPadmini                                                
## `prdline.my.fctriPadmini 2+`                                        ** 
## biddable                                                            ***
## `condition.fctrFor parts or not working`                            .  
## `condition.fctrManufacturer refurbished`                               
## condition.fctrNew                                                   ***
## `condition.fctrNew other (see details)`                             *  
## `condition.fctrSeller refurbished`                                     
## D.terms.n.post.stop                                                 .  
## cellular.fctr1                                                         
## cellular.fctrUnknown                                                   
## `prdline.my.fctrUnknown:.clusterid.fctr2`                           *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`                               
## `prdline.my.fctriPad 2:.clusterid.fctr2`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                              
## `prdline.my.fctriPadAir:.clusterid.fctr2`                              
## `prdline.my.fctriPadmini:.clusterid.fctr2`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                          
## `prdline.my.fctrUnknown:.clusterid.fctr3`                              
## `prdline.my.fctriPad 1:.clusterid.fctr3`                               
## `prdline.my.fctriPad 2:.clusterid.fctr3`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                              
## `prdline.my.fctriPadAir:.clusterid.fctr3`                              
## `prdline.my.fctriPadmini:.clusterid.fctr3`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                          
## `prdline.my.fctrUnknown:.clusterid.fctr4`                              
## `prdline.my.fctriPad 1:.clusterid.fctr4`                               
## `prdline.my.fctriPad 2:.clusterid.fctr4`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                              
## `prdline.my.fctriPadAir:.clusterid.fctr4`                              
## `prdline.my.fctriPadmini:.clusterid.fctr4`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                          
## `prdline.my.fctrUnknown:.clusterid.fctr5`                              
## `prdline.my.fctriPad 1:.clusterid.fctr5`                               
## `prdline.my.fctriPad 2:.clusterid.fctr5`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                              
## `prdline.my.fctriPadAir:.clusterid.fctr5`                              
## `prdline.my.fctriPadmini:.clusterid.fctr5`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                          
## `prdline.my.fctriPad 1:biddable`                                       
## `prdline.my.fctriPad 2:biddable`                                       
## `prdline.my.fctriPad 3+:biddable`                                   ** 
## `prdline.my.fctriPadAir:biddable`                                   ***
## `prdline.my.fctriPadmini:biddable`                                  .  
## `prdline.my.fctriPadmini 2+:biddable`                               *  
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`         
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`         
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`     .  
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`     ** 
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`       
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`    
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`         
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`         
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`        
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`        
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`       
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`    
## `prdline.my.fctriPad 1:condition.fctrNew`                           *  
## `prdline.my.fctriPad 2:condition.fctrNew`                              
## `prdline.my.fctriPad 3+:condition.fctrNew`                             
## `prdline.my.fctriPadAir:condition.fctrNew`                             
## `prdline.my.fctriPadmini:condition.fctrNew`                            
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                      .  
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`          
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`          
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`         
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`         
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`        
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`     
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`               
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`               
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`              
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`              
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`             
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`          
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                            
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                            
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                           
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                           
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                          
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                       
## `prdline.my.fctriPad 1:cellular.fctr1`                                 
## `prdline.my.fctriPad 2:cellular.fctr1`                                 
## `prdline.my.fctriPad 3+:cellular.fctr1`                                
## `prdline.my.fctriPadAir:cellular.fctr1`                                
## `prdline.my.fctriPadmini:cellular.fctr1`                               
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                            
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                           
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                           
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                          
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                       .  
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                         
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 11558.2)
## 
##     Null deviance: 53948796  on 1858  degrees of freedom
## Residual deviance: 20434892  on 1768  degrees of freedom
## AIC: 22758
## 
## Number of Fisher Scoring iterations: 2
## 
## [1] "    calling mypredict_mdl for fit:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## [1] "    calling mypredict_mdl for OOB:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading

##   model_id model_method
## 1  csm.glm          glm
##                                                                                                                                                                            feats
## 1 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      1.349                  0.12
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB min.aic.fit
## 1    0.6212169     111.2592    0.5420392     117.2598    22757.53
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.5752187       5.391855         0.04061329
##                                   importance
## prdline.my.fctriPadAir             100.00000
## `prdline.my.fctriPadAir:biddable`   79.02049
## biddable                            48.13018
## condition.fctrNew                   42.29953
## `prdline.my.fctriPad 1`             39.09915
## `prdline.my.fctriPad 3+:biddable`   33.99736
## [1] "fitting model: csm.bayesglm"
## [1] "    indep_vars: prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr"
## Aggregating results
## Fitting final model on full training set
## 
## Call:
## NULL
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -379.21   -54.90    -9.96    45.43   781.62  
## 
## Coefficients:
##                                                                     Estimate
## (Intercept)                                                          192.798
## `prdline.my.fctriPad 1`                                              -89.005
## `prdline.my.fctriPad 2`                                              -10.533
## `prdline.my.fctriPad 3+`                                              69.402
## prdline.my.fctriPadAir                                               218.981
## prdline.my.fctriPadmini                                               24.579
## `prdline.my.fctriPadmini 2+`                                          74.893
## biddable                                                             -71.935
## `condition.fctrFor parts or not working`                             -44.128
## `condition.fctrManufacturer refurbished`                              -9.542
## condition.fctrNew                                                     84.446
## `condition.fctrNew other (see details)`                              111.881
## `condition.fctrSeller refurbished`                                     7.733
## D.terms.n.post.stop                                                   -5.878
## cellular.fctr1                                                        43.412
## cellular.fctrUnknown                                                 -10.902
## `prdline.my.fctrUnknown:.clusterid.fctr2`                             67.678
## `prdline.my.fctriPad 1:.clusterid.fctr2`                              -5.644
## `prdline.my.fctriPad 2:.clusterid.fctr2`                              -4.062
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                             16.785
## `prdline.my.fctriPadAir:.clusterid.fctr2`                            -33.478
## `prdline.my.fctriPadmini:.clusterid.fctr2`                            13.695
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                         29.214
## `prdline.my.fctrUnknown:.clusterid.fctr3`                              6.097
## `prdline.my.fctriPad 1:.clusterid.fctr3`                               6.111
## `prdline.my.fctriPad 2:.clusterid.fctr3`                              36.914
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                             -5.953
## `prdline.my.fctriPadAir:.clusterid.fctr3`                             -6.815
## `prdline.my.fctriPadmini:.clusterid.fctr3`                             7.260
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                        -28.772
## `prdline.my.fctrUnknown:.clusterid.fctr4`                              0.000
## `prdline.my.fctriPad 1:.clusterid.fctr4`                              13.871
## `prdline.my.fctriPad 2:.clusterid.fctr4`                             -31.604
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                              6.714
## `prdline.my.fctriPadAir:.clusterid.fctr4`                             10.010
## `prdline.my.fctriPadmini:.clusterid.fctr4`                            23.049
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                          0.000
## `prdline.my.fctrUnknown:.clusterid.fctr5`                              0.000
## `prdline.my.fctriPad 1:.clusterid.fctr5`                               0.000
## `prdline.my.fctriPad 2:.clusterid.fctr5`                              19.797
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                              0.000
## `prdline.my.fctriPadAir:.clusterid.fctr5`                              0.000
## `prdline.my.fctriPadmini:.clusterid.fctr5`                            52.564
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                          0.000
## `prdline.my.fctriPad 1:biddable`                                      16.164
## `prdline.my.fctriPad 2:biddable`                                     -34.518
## `prdline.my.fctriPad 3+:biddable`                                    -65.477
## `prdline.my.fctriPadAir:biddable`                                   -143.640
## `prdline.my.fctriPadmini:biddable`                                   -40.509
## `prdline.my.fctriPadmini 2+:biddable`                                -52.602
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`         7.573
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`        -1.713
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`      -56.421
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`      -93.599
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`     -39.302
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`  -68.908
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`       -58.072
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`        41.090
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`       21.136
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`       41.818
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`      19.481
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`   76.414
## `prdline.my.fctriPad 1:condition.fctrNew`                             94.171
## `prdline.my.fctriPad 2:condition.fctrNew`                           -174.692
## `prdline.my.fctriPad 3+:condition.fctrNew`                            58.535
## `prdline.my.fctriPadAir:condition.fctrNew`                            44.466
## `prdline.my.fctriPadmini:condition.fctrNew`                          -25.827
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                        52.355
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`        -97.824
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`        -47.954
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`       -13.860
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`       -57.915
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`      -86.587
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`   -14.290
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`             -35.314
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`             -14.013
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`             -8.513
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`            -35.380
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`             3.450
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`        -60.024
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                            5.807
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                            4.698
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                           5.362
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                           3.603
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                          2.386
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                       6.976
## `prdline.my.fctriPad 1:cellular.fctr1`                               -21.043
## `prdline.my.fctriPad 2:cellular.fctr1`                               -24.611
## `prdline.my.fctriPad 3+:cellular.fctr1`                              -25.551
## `prdline.my.fctriPadAir:cellular.fctr1`                               11.670
## `prdline.my.fctriPadmini:cellular.fctr1`                               5.958
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                           49.733
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                          38.566
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                          -5.880
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                        -12.449
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                        -67.810
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                        10.486
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                     14.553
##                                                                     Std. Error
## (Intercept)                                                             20.845
## `prdline.my.fctriPad 1`                                                 24.958
## `prdline.my.fctriPad 2`                                                 25.086
## `prdline.my.fctriPad 3+`                                                25.324
## prdline.my.fctriPadAir                                                  24.497
## prdline.my.fctriPadmini                                                 24.764
## `prdline.my.fctriPadmini 2+`                                            26.901
## biddable                                                                16.493
## `condition.fctrFor parts or not working`                                23.841
## `condition.fctrManufacturer refurbished`                               101.470
## condition.fctrNew                                                       22.200
## `condition.fctrNew other (see details)`                                 54.310
## `condition.fctrSeller refurbished`                                      35.864
## D.terms.n.post.stop                                                      3.273
## cellular.fctr1                                                          34.109
## cellular.fctrUnknown                                                    19.764
## `prdline.my.fctrUnknown:.clusterid.fctr2`                               29.189
## `prdline.my.fctriPad 1:.clusterid.fctr2`                                31.646
## `prdline.my.fctriPad 2:.clusterid.fctr2`                                22.632
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                               21.083
## `prdline.my.fctriPadAir:.clusterid.fctr2`                               24.180
## `prdline.my.fctriPadmini:.clusterid.fctr2`                              28.580
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                           44.729
## `prdline.my.fctrUnknown:.clusterid.fctr3`                               33.583
## `prdline.my.fctriPad 1:.clusterid.fctr3`                                32.465
## `prdline.my.fctriPad 2:.clusterid.fctr3`                                31.525
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                               22.893
## `prdline.my.fctriPadAir:.clusterid.fctr3`                               28.427
## `prdline.my.fctriPadmini:.clusterid.fctr3`                              31.070
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                           39.664
## `prdline.my.fctrUnknown:.clusterid.fctr4`                              853.827
## `prdline.my.fctriPad 1:.clusterid.fctr4`                                32.677
## `prdline.my.fctriPad 2:.clusterid.fctr4`                                31.259
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                               23.723
## `prdline.my.fctriPadAir:.clusterid.fctr4`                               28.148
## `prdline.my.fctriPadmini:.clusterid.fctr4`                              34.270
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                          853.827
## `prdline.my.fctrUnknown:.clusterid.fctr5`                              853.827
## `prdline.my.fctriPad 1:.clusterid.fctr5`                               853.827
## `prdline.my.fctriPad 2:.clusterid.fctr5`                                33.930
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                              853.827
## `prdline.my.fctriPadAir:.clusterid.fctr5`                              853.827
## `prdline.my.fctriPadmini:.clusterid.fctr5`                              38.015
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                          853.827
## `prdline.my.fctriPad 1:biddable`                                        22.088
## `prdline.my.fctriPad 2:biddable`                                        21.294
## `prdline.my.fctriPad 3+:biddable`                                       21.449
## `prdline.my.fctriPadAir:biddable`                                       20.372
## `prdline.my.fctriPadmini:biddable`                                      21.464
## `prdline.my.fctriPadmini 2+:biddable`                                   23.204
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`          37.003
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`          31.134
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`         31.729
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`         36.121
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`        30.595
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`     60.277
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`         145.489
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`         112.100
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`        106.186
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`        107.912
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`       109.471
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`    115.252
## `prdline.my.fctriPad 1:condition.fctrNew`                               47.705
## `prdline.my.fctriPad 2:condition.fctrNew`                              113.668
## `prdline.my.fctriPad 3+:condition.fctrNew`                              45.292
## `prdline.my.fctriPadAir:condition.fctrNew`                              26.689
## `prdline.my.fctriPadmini:condition.fctrNew`                             29.940
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                          29.118
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`           82.577
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`           66.730
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`          61.866
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`          59.084
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`         65.356
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`      61.792
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`                44.995
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`                44.294
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`               42.283
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`               46.216
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`              47.765
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`           61.431
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                              4.538
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                              4.032
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                             3.892
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                             4.051
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                            4.443
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                         5.493
## `prdline.my.fctriPad 1:cellular.fctr1`                                  37.572
## `prdline.my.fctriPad 2:cellular.fctr1`                                  37.227
## `prdline.my.fctriPad 3+:cellular.fctr1`                                 36.613
## `prdline.my.fctriPadAir:cellular.fctr1`                                 36.328
## `prdline.my.fctriPadmini:cellular.fctr1`                                37.800
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                             38.413
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                            41.188
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                            40.424
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                           33.359
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                           35.008
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                          36.403
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                       37.402
##                                                                     t value
## (Intercept)                                                           9.249
## `prdline.my.fctriPad 1`                                              -3.566
## `prdline.my.fctriPad 2`                                              -0.420
## `prdline.my.fctriPad 3+`                                              2.741
## prdline.my.fctriPadAir                                                8.939
## prdline.my.fctriPadmini                                               0.993
## `prdline.my.fctriPadmini 2+`                                          2.784
## biddable                                                             -4.362
## `condition.fctrFor parts or not working`                             -1.851
## `condition.fctrManufacturer refurbished`                             -0.094
## condition.fctrNew                                                     3.804
## `condition.fctrNew other (see details)`                               2.060
## `condition.fctrSeller refurbished`                                    0.216
## D.terms.n.post.stop                                                  -1.796
## cellular.fctr1                                                        1.273
## cellular.fctrUnknown                                                 -0.552
## `prdline.my.fctrUnknown:.clusterid.fctr2`                             2.319
## `prdline.my.fctriPad 1:.clusterid.fctr2`                             -0.178
## `prdline.my.fctriPad 2:.clusterid.fctr2`                             -0.179
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                             0.796
## `prdline.my.fctriPadAir:.clusterid.fctr2`                            -1.385
## `prdline.my.fctriPadmini:.clusterid.fctr2`                            0.479
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                         0.653
## `prdline.my.fctrUnknown:.clusterid.fctr3`                             0.182
## `prdline.my.fctriPad 1:.clusterid.fctr3`                              0.188
## `prdline.my.fctriPad 2:.clusterid.fctr3`                              1.171
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                            -0.260
## `prdline.my.fctriPadAir:.clusterid.fctr3`                            -0.240
## `prdline.my.fctriPadmini:.clusterid.fctr3`                            0.234
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                        -0.725
## `prdline.my.fctrUnknown:.clusterid.fctr4`                             0.000
## `prdline.my.fctriPad 1:.clusterid.fctr4`                              0.424
## `prdline.my.fctriPad 2:.clusterid.fctr4`                             -1.011
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                             0.283
## `prdline.my.fctriPadAir:.clusterid.fctr4`                             0.356
## `prdline.my.fctriPadmini:.clusterid.fctr4`                            0.673
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                         0.000
## `prdline.my.fctrUnknown:.clusterid.fctr5`                             0.000
## `prdline.my.fctriPad 1:.clusterid.fctr5`                              0.000
## `prdline.my.fctriPad 2:.clusterid.fctr5`                              0.583
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                             0.000
## `prdline.my.fctriPadAir:.clusterid.fctr5`                             0.000
## `prdline.my.fctriPadmini:.clusterid.fctr5`                            1.383
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                         0.000
## `prdline.my.fctriPad 1:biddable`                                      0.732
## `prdline.my.fctriPad 2:biddable`                                     -1.621
## `prdline.my.fctriPad 3+:biddable`                                    -3.053
## `prdline.my.fctriPadAir:biddable`                                    -7.051
## `prdline.my.fctriPadmini:biddable`                                   -1.887
## `prdline.my.fctriPadmini 2+:biddable`                                -2.267
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`        0.205
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`       -0.055
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`      -1.778
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`      -2.591
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`     -1.285
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`  -1.143
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`       -0.399
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`        0.367
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`       0.199
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`       0.388
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`      0.178
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`   0.663
## `prdline.my.fctriPad 1:condition.fctrNew`                             1.974
## `prdline.my.fctriPad 2:condition.fctrNew`                            -1.537
## `prdline.my.fctriPad 3+:condition.fctrNew`                            1.292
## `prdline.my.fctriPadAir:condition.fctrNew`                            1.666
## `prdline.my.fctriPadmini:condition.fctrNew`                          -0.863
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                        1.798
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`        -1.185
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`        -0.719
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`       -0.224
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`       -0.980
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`      -1.325
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`   -0.231
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`             -0.785
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`             -0.316
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`            -0.201
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`            -0.766
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`            0.072
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`        -0.977
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                           1.280
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                           1.165
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                          1.378
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                          0.890
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                         0.537
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                      1.270
## `prdline.my.fctriPad 1:cellular.fctr1`                               -0.560
## `prdline.my.fctriPad 2:cellular.fctr1`                               -0.661
## `prdline.my.fctriPad 3+:cellular.fctr1`                              -0.698
## `prdline.my.fctriPadAir:cellular.fctr1`                               0.321
## `prdline.my.fctriPadmini:cellular.fctr1`                              0.158
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                           1.295
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                          0.936
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                         -0.145
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                        -0.373
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                        -1.937
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                        0.288
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                     0.389
##                                                                     Pr(>|t|)
## (Intercept)                                                          < 2e-16
## `prdline.my.fctriPad 1`                                             0.000372
## `prdline.my.fctriPad 2`                                             0.674610
## `prdline.my.fctriPad 3+`                                            0.006195
## prdline.my.fctriPadAir                                               < 2e-16
## prdline.my.fctriPadmini                                             0.321073
## `prdline.my.fctriPadmini 2+`                                        0.005426
## biddable                                                            1.37e-05
## `condition.fctrFor parts or not working`                            0.064347
## `condition.fctrManufacturer refurbished`                            0.925088
## condition.fctrNew                                                   0.000147
## `condition.fctrNew other (see details)`                             0.039542
## `condition.fctrSeller refurbished`                                  0.829317
## D.terms.n.post.stop                                                 0.072629
## cellular.fctr1                                                      0.203274
## cellular.fctrUnknown                                                0.581281
## `prdline.my.fctrUnknown:.clusterid.fctr2`                           0.020530
## `prdline.my.fctriPad 1:.clusterid.fctr2`                            0.858479
## `prdline.my.fctriPad 2:.clusterid.fctr2`                            0.857566
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                           0.426057
## `prdline.my.fctriPadAir:.clusterid.fctr2`                           0.166376
## `prdline.my.fctriPadmini:.clusterid.fctr2`                          0.631858
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                       0.513755
## `prdline.my.fctrUnknown:.clusterid.fctr3`                           0.855959
## `prdline.my.fctriPad 1:.clusterid.fctr3`                            0.850719
## `prdline.my.fctriPad 2:.clusterid.fctr3`                            0.241782
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                           0.794859
## `prdline.my.fctriPadAir:.clusterid.fctr3`                           0.810556
## `prdline.my.fctriPadmini:.clusterid.fctr3`                          0.815269
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                       0.468303
## `prdline.my.fctrUnknown:.clusterid.fctr4`                           1.000000
## `prdline.my.fctriPad 1:.clusterid.fctr4`                            0.671256
## `prdline.my.fctriPad 2:.clusterid.fctr4`                            0.312124
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                           0.777182
## `prdline.my.fctriPadAir:.clusterid.fctr4`                           0.722159
## `prdline.my.fctriPadmini:.clusterid.fctr4`                          0.501315
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                       1.000000
## `prdline.my.fctrUnknown:.clusterid.fctr5`                           1.000000
## `prdline.my.fctriPad 1:.clusterid.fctr5`                            1.000000
## `prdline.my.fctriPad 2:.clusterid.fctr5`                            0.559659
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                           1.000000
## `prdline.my.fctriPadAir:.clusterid.fctr5`                           1.000000
## `prdline.my.fctriPadmini:.clusterid.fctr5`                          0.166930
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                       1.000000
## `prdline.my.fctriPad 1:biddable`                                    0.464372
## `prdline.my.fctriPad 2:biddable`                                    0.105189
## `prdline.my.fctriPad 3+:biddable`                                   0.002302
## `prdline.my.fctriPadAir:biddable`                                   2.55e-12
## `prdline.my.fctriPadmini:biddable`                                  0.059289
## `prdline.my.fctriPadmini 2+:biddable`                               0.023512
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`      0.837861
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`      0.956139
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`     0.075538
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`     0.009642
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`    0.199098
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working` 0.253113
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`      0.689833
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`      0.714003
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`     0.842252
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`     0.698418
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`    0.858777
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished` 0.507406
## `prdline.my.fctriPad 1:condition.fctrNew`                           0.048537
## `prdline.my.fctriPad 2:condition.fctrNew`                           0.124509
## `prdline.my.fctriPad 3+:condition.fctrNew`                          0.196386
## `prdline.my.fctriPadAir:condition.fctrNew`                          0.095882
## `prdline.my.fctriPadmini:condition.fctrNew`                         0.388457
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                      0.072346
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`       0.236320
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`       0.472470
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`      0.822762
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`      0.327109
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`     0.185388
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`  0.817142
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`            0.432654
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`            0.751772
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`           0.840466
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`           0.444057
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`          0.942423
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`       0.328655
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                         0.200887
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                         0.244011
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                        0.168425
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                        0.373853
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                       0.591350
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                    0.204211
## `prdline.my.fctriPad 1:cellular.fctr1`                              0.575508
## `prdline.my.fctriPad 2:cellular.fctr1`                              0.508635
## `prdline.my.fctriPad 3+:cellular.fctr1`                             0.485349
## `prdline.my.fctriPadAir:cellular.fctr1`                             0.748061
## `prdline.my.fctriPadmini:cellular.fctr1`                            0.874783
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                         0.195589
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                        0.349232
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                        0.884376
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                       0.709058
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                       0.052904
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                      0.773341
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                   0.697256
##                                                                        
## (Intercept)                                                         ***
## `prdline.my.fctriPad 1`                                             ***
## `prdline.my.fctriPad 2`                                                
## `prdline.my.fctriPad 3+`                                            ** 
## prdline.my.fctriPadAir                                              ***
## prdline.my.fctriPadmini                                                
## `prdline.my.fctriPadmini 2+`                                        ** 
## biddable                                                            ***
## `condition.fctrFor parts or not working`                            .  
## `condition.fctrManufacturer refurbished`                               
## condition.fctrNew                                                   ***
## `condition.fctrNew other (see details)`                             *  
## `condition.fctrSeller refurbished`                                     
## D.terms.n.post.stop                                                 .  
## cellular.fctr1                                                         
## cellular.fctrUnknown                                                   
## `prdline.my.fctrUnknown:.clusterid.fctr2`                           *  
## `prdline.my.fctriPad 1:.clusterid.fctr2`                               
## `prdline.my.fctriPad 2:.clusterid.fctr2`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr2`                              
## `prdline.my.fctriPadAir:.clusterid.fctr2`                              
## `prdline.my.fctriPadmini:.clusterid.fctr2`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr2`                          
## `prdline.my.fctrUnknown:.clusterid.fctr3`                              
## `prdline.my.fctriPad 1:.clusterid.fctr3`                               
## `prdline.my.fctriPad 2:.clusterid.fctr3`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr3`                              
## `prdline.my.fctriPadAir:.clusterid.fctr3`                              
## `prdline.my.fctriPadmini:.clusterid.fctr3`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr3`                          
## `prdline.my.fctrUnknown:.clusterid.fctr4`                              
## `prdline.my.fctriPad 1:.clusterid.fctr4`                               
## `prdline.my.fctriPad 2:.clusterid.fctr4`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr4`                              
## `prdline.my.fctriPadAir:.clusterid.fctr4`                              
## `prdline.my.fctriPadmini:.clusterid.fctr4`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr4`                          
## `prdline.my.fctrUnknown:.clusterid.fctr5`                              
## `prdline.my.fctriPad 1:.clusterid.fctr5`                               
## `prdline.my.fctriPad 2:.clusterid.fctr5`                               
## `prdline.my.fctriPad 3+:.clusterid.fctr5`                              
## `prdline.my.fctriPadAir:.clusterid.fctr5`                              
## `prdline.my.fctriPadmini:.clusterid.fctr5`                             
## `prdline.my.fctriPadmini 2+:.clusterid.fctr5`                          
## `prdline.my.fctriPad 1:biddable`                                       
## `prdline.my.fctriPad 2:biddable`                                       
## `prdline.my.fctriPad 3+:biddable`                                   ** 
## `prdline.my.fctriPadAir:biddable`                                   ***
## `prdline.my.fctriPadmini:biddable`                                  .  
## `prdline.my.fctriPadmini 2+:biddable`                               *  
## `prdline.my.fctriPad 1:condition.fctrFor parts or not working`         
## `prdline.my.fctriPad 2:condition.fctrFor parts or not working`         
## `prdline.my.fctriPad 3+:condition.fctrFor parts or not working`     .  
## `prdline.my.fctriPadAir:condition.fctrFor parts or not working`     ** 
## `prdline.my.fctriPadmini:condition.fctrFor parts or not working`       
## `prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working`    
## `prdline.my.fctriPad 1:condition.fctrManufacturer refurbished`         
## `prdline.my.fctriPad 2:condition.fctrManufacturer refurbished`         
## `prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished`        
## `prdline.my.fctriPadAir:condition.fctrManufacturer refurbished`        
## `prdline.my.fctriPadmini:condition.fctrManufacturer refurbished`       
## `prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished`    
## `prdline.my.fctriPad 1:condition.fctrNew`                           *  
## `prdline.my.fctriPad 2:condition.fctrNew`                              
## `prdline.my.fctriPad 3+:condition.fctrNew`                             
## `prdline.my.fctriPadAir:condition.fctrNew`                          .  
## `prdline.my.fctriPadmini:condition.fctrNew`                            
## `prdline.my.fctriPadmini 2+:condition.fctrNew`                      .  
## `prdline.my.fctriPad 1:condition.fctrNew other (see details)`          
## `prdline.my.fctriPad 2:condition.fctrNew other (see details)`          
## `prdline.my.fctriPad 3+:condition.fctrNew other (see details)`         
## `prdline.my.fctriPadAir:condition.fctrNew other (see details)`         
## `prdline.my.fctriPadmini:condition.fctrNew other (see details)`        
## `prdline.my.fctriPadmini 2+:condition.fctrNew other (see details)`     
## `prdline.my.fctriPad 1:condition.fctrSeller refurbished`               
## `prdline.my.fctriPad 2:condition.fctrSeller refurbished`               
## `prdline.my.fctriPad 3+:condition.fctrSeller refurbished`              
## `prdline.my.fctriPadAir:condition.fctrSeller refurbished`              
## `prdline.my.fctriPadmini:condition.fctrSeller refurbished`             
## `prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished`          
## `prdline.my.fctriPad 1:D.terms.n.post.stop`                            
## `prdline.my.fctriPad 2:D.terms.n.post.stop`                            
## `prdline.my.fctriPad 3+:D.terms.n.post.stop`                           
## `prdline.my.fctriPadAir:D.terms.n.post.stop`                           
## `prdline.my.fctriPadmini:D.terms.n.post.stop`                          
## `prdline.my.fctriPadmini 2+:D.terms.n.post.stop`                       
## `prdline.my.fctriPad 1:cellular.fctr1`                                 
## `prdline.my.fctriPad 2:cellular.fctr1`                                 
## `prdline.my.fctriPad 3+:cellular.fctr1`                                
## `prdline.my.fctriPadAir:cellular.fctr1`                                
## `prdline.my.fctriPadmini:cellular.fctr1`                               
## `prdline.my.fctriPadmini 2+:cellular.fctr1`                            
## `prdline.my.fctriPad 1:cellular.fctrUnknown`                           
## `prdline.my.fctriPad 2:cellular.fctrUnknown`                           
## `prdline.my.fctriPad 3+:cellular.fctrUnknown`                          
## `prdline.my.fctriPadAir:cellular.fctrUnknown`                       .  
## `prdline.my.fctriPadmini:cellular.fctrUnknown`                         
## `prdline.my.fctriPadmini 2+:cellular.fctrUnknown`                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 11604.22)
## 
##     Null deviance: 53948796  on 1858  degrees of freedom
## Residual deviance: 20435032  on 1761  degrees of freedom
## AIC: 22772
## 
## Number of Fisher Scoring iterations: 8
## 
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##       model_id model_method
## 1 csm.bayesglm     bayesglm
##                                                                                                                                                                            feats
## 1 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                      2.327                 0.656
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB min.aic.fit
## 1    0.6212143      111.174    0.5420843      117.254    22771.55
##   max.Rsquared.fit min.RMSESD.fit max.RsquaredSD.fit
## 1        0.5758072        5.43132         0.04089971
##                     importance
## biddable            100.000000
## prdline.my.fctr      54.858549
## condition.fctr       46.251715
## D.terms.n.post.stop   3.549158
## .clusterid.fctr       2.906881
## cellular.fctr         0.000000
## [1] "fitting model: csm.glmnet"
## [1] "    indep_vars: prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr"
## Aggregating results
## Selecting tuning parameters
## Fitting alpha = 1, lambda = 1.55 on full training set
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: alpha

##             Length Class      Mode     
## a0            78   -none-     numeric  
## beta        7566   dgCMatrix  S4       
## df            78   -none-     numeric  
## dim            2   -none-     numeric  
## lambda        78   -none-     numeric  
## dev.ratio     78   -none-     numeric  
## nulldev        1   -none-     numeric  
## npasses        1   -none-     numeric  
## jerr           1   -none-     numeric  
## offset         1   -none-     logical  
## call           5   -none-     call     
## nobs           1   -none-     numeric  
## lambdaOpt      1   -none-     numeric  
## xNames        97   -none-     character
## problemType    1   -none-     character
## tuneValue      2   data.frame list     
## obsLevels      1   -none-     logical  
## [1] "min lambda > lambdaOpt:"
##                                                       (Intercept) 
##                                                       213.9270288 
##                                             prdline.my.fctriPad 1 
##                                                       -88.1079207 
##                                             prdline.my.fctriPad 2 
##                                                       -28.8347259 
##                                            prdline.my.fctriPad 3+ 
##                                                        34.1009207 
##                                            prdline.my.fctriPadAir 
##                                                       180.4730910 
##                                        prdline.my.fctriPadmini 2+ 
##                                                        44.9583724 
##                                                          biddable 
##                                                      -105.9348089 
##                            condition.fctrFor parts or not working 
##                                                       -52.7205995 
##                            condition.fctrManufacturer refurbished 
##                                                        13.4776679 
##                                                 condition.fctrNew 
##                                                        72.5516197 
##                             condition.fctrNew other (see details) 
##                                                        56.8526973 
##                                               D.terms.n.post.stop 
##                                                        -0.6632764 
##                                                    cellular.fctr1 
##                                                        22.2024491 
##                                              cellular.fctrUnknown 
##                                                        -6.8389424 
##                           prdline.my.fctrUnknown:.clusterid.fctr2 
##                                                        12.8500349 
##                            prdline.my.fctriPad 2:.clusterid.fctr2 
##                                                        -4.0614250 
##                           prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                                        11.2192576 
##                           prdline.my.fctriPadAir:.clusterid.fctr2 
##                                                       -25.6391677 
##                       prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                                        32.3806531 
##                           prdline.my.fctrUnknown:.clusterid.fctr3 
##                                                       -15.8613765 
##                            prdline.my.fctriPad 2:.clusterid.fctr3 
##                                                        14.4681415 
##                            prdline.my.fctriPad 2:.clusterid.fctr4 
##                                                       -23.2787506 
##                          prdline.my.fctriPadmini:.clusterid.fctr5 
##                                                        16.4820066 
##                                    prdline.my.fctriPad 1:biddable 
##                                                        26.7493911 
##                                   prdline.my.fctriPad 3+:biddable 
##                                                       -15.8995711 
##                                   prdline.my.fctriPadAir:biddable 
##                                                       -94.6969257 
##                                  prdline.my.fctriPadmini:biddable 
##                                                        -1.6890910 
##     prdline.my.fctriPad 3+:condition.fctrFor parts or not working 
##                                                       -34.6485868 
##     prdline.my.fctriPadAir:condition.fctrFor parts or not working 
##                                                       -68.7000594 
##    prdline.my.fctriPadmini:condition.fctrFor parts or not working 
##                                                       -21.2351246 
## prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working 
##                                                       -30.4153588 
##      prdline.my.fctriPad 1:condition.fctrManufacturer refurbished 
##                                                       -13.9963780 
##     prdline.my.fctriPadAir:condition.fctrManufacturer refurbished 
##                                                         7.4687533 
## prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished 
##                                                        28.4716635 
##                           prdline.my.fctriPad 1:condition.fctrNew 
##                                                        62.4498443 
##                           prdline.my.fctriPad 2:condition.fctrNew 
##                                                      -113.4874297 
##                          prdline.my.fctriPad 3+:condition.fctrNew 
##                                                        53.4901520 
##                          prdline.my.fctriPadAir:condition.fctrNew 
##                                                        63.3443066 
##                      prdline.my.fctriPadmini 2+:condition.fctrNew 
##                                                        64.3137222 
##       prdline.my.fctriPad 1:condition.fctrNew other (see details) 
##                                                       -19.4268125 
##      prdline.my.fctriPad 3+:condition.fctrNew other (see details) 
##                                                        33.7406673 
##     prdline.my.fctriPadmini:condition.fctrNew other (see details) 
##                                                        -1.3658391 
##  prdline.my.fctriPadmini 2+:condition.fctrNew other (see details) 
##                                                        37.0507957 
##            prdline.my.fctriPad 1:condition.fctrSeller refurbished 
##                                                       -17.2848801 
##           prdline.my.fctriPadAir:condition.fctrSeller refurbished 
##                                                        -7.3556611 
##       prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished 
##                                                       -11.4951984 
##                        prdline.my.fctriPad 3+:D.terms.n.post.stop 
##                                                         0.4729343 
##                        prdline.my.fctriPadAir:D.terms.n.post.stop 
##                                                        -0.2499588 
##                             prdline.my.fctriPadAir:cellular.fctr1 
##                                                        28.6844203 
##                            prdline.my.fctriPadmini:cellular.fctr1 
##                                                        13.9060696 
##                         prdline.my.fctriPadmini 2+:cellular.fctr1 
##                                                        62.2744278 
##                        prdline.my.fctriPad 1:cellular.fctrUnknown 
##                                                        14.1913278 
##                       prdline.my.fctriPadAir:cellular.fctrUnknown 
##                                                       -52.1338431 
## [1] "max lambda < lambdaOpt:"
##                                                       (Intercept) 
##                                                       199.9327019 
##                                             prdline.my.fctriPad 1 
##                                                       -95.3213996 
##                                             prdline.my.fctriPad 2 
##                                                       -17.6544477 
##                                            prdline.my.fctriPad 3+ 
##                                                        61.2766116 
##                                            prdline.my.fctriPadAir 
##                                                       211.3109580 
##                                           prdline.my.fctriPadmini 
##                                                        16.5598709 
##                                        prdline.my.fctriPadmini 2+ 
##                                                        67.0833139 
##                                                          biddable 
##                                                       -75.4223453 
##                            condition.fctrFor parts or not working 
##                                                       -45.5700066 
##                            condition.fctrManufacturer refurbished 
##                                                        10.4962592 
##                                                 condition.fctrNew 
##                                                        83.0249700 
##                             condition.fctrNew other (see details) 
##                                                        98.8530343 
##                                               D.terms.n.post.stop 
##                                                        -3.6450050 
##                                                    cellular.fctr1 
##                                                        27.2815962 
##                                              cellular.fctrUnknown 
##                                                       -16.6631315 
##                           prdline.my.fctrUnknown:.clusterid.fctr2 
##                                                        52.6462946 
##                            prdline.my.fctriPad 1:.clusterid.fctr2 
##                                                        -4.1592830 
##                            prdline.my.fctriPad 2:.clusterid.fctr2 
##                                                        -2.4735396 
##                           prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                                        17.1371918 
##                           prdline.my.fctriPadAir:.clusterid.fctr2 
##                                                       -31.4026811 
##                          prdline.my.fctriPadmini:.clusterid.fctr2 
##                                                        12.6380714 
##                       prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                                        29.9292812 
##                           prdline.my.fctrUnknown:.clusterid.fctr3 
##                                                        -7.3267386 
##                            prdline.my.fctriPad 1:.clusterid.fctr3 
##                                                         6.7742158 
##                            prdline.my.fctriPad 2:.clusterid.fctr3 
##                                                        38.0617860 
##                           prdline.my.fctriPad 3+:.clusterid.fctr3 
##                                                        -4.5633329 
##                           prdline.my.fctriPadAir:.clusterid.fctr3 
##                                                        -4.8086352 
##                          prdline.my.fctriPadmini:.clusterid.fctr3 
##                                                         6.1738158 
##                       prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                                                       -26.7391910 
##                            prdline.my.fctriPad 1:.clusterid.fctr4 
##                                                        14.1456150 
##                            prdline.my.fctriPad 2:.clusterid.fctr4 
##                                                       -30.0063010 
##                           prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                                         7.1332797 
##                           prdline.my.fctriPadAir:.clusterid.fctr4 
##                                                        10.6831383 
##                          prdline.my.fctriPadmini:.clusterid.fctr4 
##                                                        21.4468501 
##                            prdline.my.fctriPad 2:.clusterid.fctr5 
##                                                        20.2123257 
##                          prdline.my.fctriPadmini:.clusterid.fctr5 
##                                                        51.3616246 
##                                    prdline.my.fctriPad 1:biddable 
##                                                        18.7956345 
##                                    prdline.my.fctriPad 2:biddable 
##                                                       -30.8476585 
##                                   prdline.my.fctriPad 3+:biddable 
##                                                       -61.3313985 
##                                   prdline.my.fctriPadAir:biddable 
##                                                      -139.6559331 
##                                  prdline.my.fctriPadmini:biddable 
##                                                       -36.1780367 
##                               prdline.my.fctriPadmini 2+:biddable 
##                                                       -48.2891177 
##      prdline.my.fctriPad 1:condition.fctrFor parts or not working 
##                                                         8.7984975 
##     prdline.my.fctriPad 3+:condition.fctrFor parts or not working 
##                                                       -54.2990824 
##     prdline.my.fctriPadAir:condition.fctrFor parts or not working 
##                                                       -91.7069067 
##    prdline.my.fctriPadmini:condition.fctrFor parts or not working 
##                                                       -37.1385439 
## prdline.my.fctriPadmini 2+:condition.fctrFor parts or not working 
##                                                       -66.6446874 
##      prdline.my.fctriPad 1:condition.fctrManufacturer refurbished 
##                                                       -77.7449988 
##      prdline.my.fctriPad 2:condition.fctrManufacturer refurbished 
##                                                        20.1713469 
##     prdline.my.fctriPad 3+:condition.fctrManufacturer refurbished 
##                                                         0.7814553 
##     prdline.my.fctriPadAir:condition.fctrManufacturer refurbished 
##                                                        22.1684708 
## prdline.my.fctriPadmini 2+:condition.fctrManufacturer refurbished 
##                                                        56.5117821 
##                           prdline.my.fctriPad 1:condition.fctrNew 
##                                                        94.2074837 
##                           prdline.my.fctriPad 2:condition.fctrNew 
##                                                      -176.0478546 
##                          prdline.my.fctriPad 3+:condition.fctrNew 
##                                                        59.5783787 
##                          prdline.my.fctriPadAir:condition.fctrNew 
##                                                        45.9984402 
##                         prdline.my.fctriPadmini:condition.fctrNew 
##                                                       -23.3821225 
##                      prdline.my.fctriPadmini 2+:condition.fctrNew 
##                                                        54.0834000 
##       prdline.my.fctriPad 1:condition.fctrNew other (see details) 
##                                                       -84.9585510 
##       prdline.my.fctriPad 2:condition.fctrNew other (see details) 
##                                                       -34.4458692 
##      prdline.my.fctriPadAir:condition.fctrNew other (see details) 
##                                                       -43.8274786 
##     prdline.my.fctriPadmini:condition.fctrNew other (see details) 
##                                                       -72.0346734 
##            prdline.my.fctriPad 1:condition.fctrSeller refurbished 
##                                                       -26.9383264 
##            prdline.my.fctriPad 2:condition.fctrSeller refurbished 
##                                                        -5.8314594 
##           prdline.my.fctriPadAir:condition.fctrSeller refurbished 
##                                                       -26.2387464 
##          prdline.my.fctriPadmini:condition.fctrSeller refurbished 
##                                                        11.0916535 
##       prdline.my.fctriPadmini 2+:condition.fctrSeller refurbished 
##                                                       -50.7832328 
##                         prdline.my.fctriPad 1:D.terms.n.post.stop 
##                                                         3.3822120 
##                         prdline.my.fctriPad 2:D.terms.n.post.stop 
##                                                         2.2701179 
##                        prdline.my.fctriPad 3+:D.terms.n.post.stop 
##                                                         3.0702341 
##                        prdline.my.fctriPadAir:D.terms.n.post.stop 
##                                                         1.1799476 
##                       prdline.my.fctriPadmini:D.terms.n.post.stop 
##                                                         0.2843634 
##                    prdline.my.fctriPadmini 2+:D.terms.n.post.stop 
##                                                         4.5940713 
##                              prdline.my.fctriPad 1:cellular.fctr1 
##                                                        -4.4916057 
##                              prdline.my.fctriPad 2:cellular.fctr1 
##                                                        -7.9154685 
##                             prdline.my.fctriPad 3+:cellular.fctr1 
##                                                        -8.5965368 
##                             prdline.my.fctriPadAir:cellular.fctr1 
##                                                        27.7474662 
##                            prdline.my.fctriPadmini:cellular.fctr1 
##                                                        22.1497692 
##                         prdline.my.fctriPadmini 2+:cellular.fctr1 
##                                                        65.5832361 
##                        prdline.my.fctriPad 1:cellular.fctrUnknown 
##                                                        43.9075441 
##                       prdline.my.fctriPad 3+:cellular.fctrUnknown 
##                                                        -5.4946802 
##                       prdline.my.fctriPadAir:cellular.fctrUnknown 
##                                                       -61.3772396 
##                      prdline.my.fctriPadmini:cellular.fctrUnknown 
##                                                        15.8078887 
##                   prdline.my.fctriPadmini 2+:cellular.fctrUnknown 
##                                                        19.7417349 
## character(0)
## character(0)
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##     model_id model_method
## 1 csm.glmnet       glmnet
##                                                                                                                                                                            feats
## 1 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               9                       1.36                 0.028
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.6135158     109.7313    0.5437791     117.0369        0.5851913
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       5.255599          0.0412464
##                                              importance
## prdline.my.fctriPadAir                        100.00000
## condition.fctrNew                              63.29338
## prdline.my.fctriPadmini 2+:condition.fctrNew   60.51712
## prdline.my.fctriPadAir:condition.fctrNew       60.16864
## prdline.my.fctriPad 1:condition.fctrNew        59.93368
## prdline.my.fctriPadmini 2+:cellular.fctr1      59.82110
## [1] "fitting model: csm.rpart"
## [1] "    indep_vars: prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr"
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info =
## trainInfo, : There were missing values in resampled performance measures.

## Aggregating results
## Selecting tuning parameters
## Fitting cp = 0.052 on full training set
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: cp

## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7, 
##     cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, 
##     surrogatestyle = 0, maxdepth = 30, xval = 0))
##   n= 1859 
## 
##           CP nsplit rel error
## 1 0.20823484      0 1.0000000
## 2 0.15083018      1 0.7917652
## 3 0.05203829      2 0.6409350
## 
## Variable importance
##                                   biddable 
##                                         29 
##                     prdline.my.fctriPadAir 
##                                         21 
## prdline.my.fctriPadAir:D.terms.n.post.stop 
##                                          8 
##      prdline.my.fctriPadAir:cellular.fctr1 
##                                          7 
##   prdline.my.fctriPadAir:condition.fctrNew 
##                                          7 
##            prdline.my.fctriPad 3+:biddable 
##                                          5 
##            prdline.my.fctriPadAir:biddable 
##                                          5 
##             prdline.my.fctriPad 2:biddable 
##                                          5 
##           prdline.my.fctriPadmini:biddable 
##                                          5 
##             prdline.my.fctriPad 1:biddable 
##                                          4 
##    prdline.my.fctriPadAir:.clusterid.fctr2 
##                                          3 
##    prdline.my.fctriPadAir:.clusterid.fctr3 
##                                          2 
## 
## Node number 1: 1859 observations,    complexity param=0.2082348
##   mean=211.3404, MSE=29020.33 
##   left son=2 (837 obs) right son=3 (1022 obs)
##   Primary splits:
##       biddable                                 < 0.5 to the right, improve=0.20823480, (0 missing)
##       prdline.my.fctriPadAir                   < 0.5 to the left,  improve=0.19258840, (0 missing)
##       condition.fctrNew                        < 0.5 to the left,  improve=0.18855550, (0 missing)
##       prdline.my.fctriPadAir:condition.fctrNew < 0.5 to the left,  improve=0.15606810, (0 missing)
##       prdline.my.fctriPadAir:cellular.fctr1    < 0.5 to the left,  improve=0.08504405, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPad 3+:biddable  < 0.5 to the right, agree=0.626, adj=0.170, (0 split)
##       prdline.my.fctriPadAir:biddable  < 0.5 to the right, agree=0.626, adj=0.168, (0 split)
##       prdline.my.fctriPad 2:biddable   < 0.5 to the right, agree=0.625, adj=0.167, (0 split)
##       prdline.my.fctriPadmini:biddable < 0.5 to the right, agree=0.623, adj=0.162, (0 split)
##       prdline.my.fctriPad 1:biddable   < 0.5 to the right, agree=0.613, adj=0.141, (0 split)
## 
## Node number 2: 837 observations
##   mean=125.4409, MSE=18411.58 
## 
## Node number 3: 1022 observations,    complexity param=0.1508302
##   mean=281.6905, MSE=26716.52 
##   left son=6 (810 obs) right son=7 (212 obs)
##   Primary splits:
##       prdline.my.fctriPadAir                   < 0.5 to the left,  improve=0.2980157, (0 missing)
##       prdline.my.fctriPadAir:condition.fctrNew < 0.5 to the left,  improve=0.2071736, (0 missing)
##       condition.fctrNew                        < 0.5 to the left,  improve=0.1763299, (0 missing)
##       prdline.my.fctriPadAir:cellular.fctr1    < 0.5 to the left,  improve=0.1499817, (0 missing)
##       prdline.my.fctriPad 1                    < 0.5 to the right, improve=0.1189930, (0 missing)
##   Surrogate splits:
##       prdline.my.fctriPadAir:D.terms.n.post.stop < 1   to the left,  agree=0.871, adj=0.377, (0 split)
##       prdline.my.fctriPadAir:cellular.fctr1      < 0.5 to the left,  agree=0.864, adj=0.344, (0 split)
##       prdline.my.fctriPadAir:condition.fctrNew   < 0.5 to the left,  agree=0.862, adj=0.335, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr2    < 0.5 to the left,  agree=0.819, adj=0.127, (0 split)
##       prdline.my.fctriPadAir:.clusterid.fctr3    < 0.5 to the left,  agree=0.809, adj=0.080, (0 split)
## 
## Node number 6: 810 observations
##   mean=236.0411, MSE=17881.31 
## 
## Node number 7: 212 observations
##   mean=456.1057, MSE=22091.13 
## 
## n= 1859 
## 
## node), split, n, deviance, yval
##       * denotes terminal node
## 
## 1) root 1859 53948800 211.3404  
##   2) biddable>=0.5 837 15410490 125.4409 *
##   3) biddable< 0.5 1022 27304290 281.6905  
##     6) prdline.my.fctriPadAir< 0.5 810 14483860 236.0411 *
##     7) prdline.my.fctriPadAir>=0.5 212  4683319 456.1057 *
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##    model_id model_method
## 1 csm.rpart        rpart
##                                                                                                                                                                            feats
## 1 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               3                      1.966                 0.112
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1     0.359065     133.2986    0.3209143     142.7899        0.3897786
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       2.725981          0.0302287
##                                          importance
## prdline.my.fctriPadAir                    100.00000
## condition.fctrNew                          74.37472
## prdline.my.fctriPadAir:condition.fctrNew   74.03967
## prdline.my.fctriPadAir:cellular.fctr1      47.90539
## biddable                                   42.44458
## prdline.my.fctriPad 1                      24.25439
## [1] "fitting model: csm.rf"
## [1] "    indep_vars: prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr"
## Aggregating results
## Selecting tuning parameters
## Fitting mtry = 49 on full training set

##                 Length Class      Mode     
## call               4   -none-     call     
## type               1   -none-     character
## predicted       1859   -none-     numeric  
## mse              500   -none-     numeric  
## rsq              500   -none-     numeric  
## oob.times       1859   -none-     numeric  
## importance        97   -none-     numeric  
## importanceSD       0   -none-     NULL     
## localImportance    0   -none-     NULL     
## proximity          0   -none-     NULL     
## ntree              1   -none-     numeric  
## mtry               1   -none-     numeric  
## forest            11   -none-     list     
## coefs              0   -none-     NULL     
## y               1859   -none-     numeric  
## test               0   -none-     NULL     
## inbag              0   -none-     NULL     
## xNames            97   -none-     character
## problemType        1   -none-     character
## tuneValue          1   data.frame list     
## obsLevels          1   -none-     logical  
## [1] "    calling mypredict_mdl for fit:"
## [1] "    calling mypredict_mdl for OOB:"
##   model_id model_method
## 1   csm.rf           rf
##                                                                                                                                                                            feats
## 1 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               3                     61.304                21.416
##   max.R.sq.fit min.RMSE.fit max.R.sq.OOB min.RMSE.OOB max.Rsquared.fit
## 1    0.7175522     110.4147    0.5391101     117.6358        0.5822801
##   min.RMSESD.fit max.RsquaredSD.fit
## 1       6.140705         0.04740071
##                                          importance
## biddable                                  100.00000
## prdline.my.fctriPadAir                     71.59472
## condition.fctrNew                          52.09600
## prdline.my.fctriPadAir:condition.fctrNew   22.90645
## prdline.my.fctriPadmini 2+                 15.53986
## prdline.my.fctriPad 1                      14.94164
# Ntv.1.lm <- lm(reformulate(indep_vars_vctr, glb_rsp_var), glb_trnobs_df); print(summary(Ntv.1.lm))

#print(dsp_models_df <- orderBy(model_sel_frmla, glb_models_df)[, dsp_models_cols])
#csm_featsimp_df[grepl("H.npnct19.log", row.names(csm_featsimp_df)), , FALSE]
#csm_OOBobs_df <- glb_get_predictions(glb_OOBobs_df, mdl_id=csm_mdl_id, rsp_var_out=glb_rsp_var_out, prob_threshold_def=glb_models_df[glb_models_df$model_id == csm_mdl_id, "opt.prob.threshold.OOB"])
#print(sprintf("%s OOB confusion matrix & accuracy: ", csm_mdl_id)); print(t(confusionMatrix(csm_OOBobs_df[, paste0(glb_rsp_var_out, csm_mdl_id)], csm_OOBobs_df[, glb_rsp_var])$table))

#glb_models_df[, "max.Accuracy.OOB", FALSE]
#varImp(glb_models_lst[["Low.cor.X.glm"]])
#orderBy(~ -Overall, varImp(glb_models_lst[["All.X.2.glm"]])$importance)
#orderBy(~ -Overall, varImp(glb_models_lst[["All.X.3.glm"]])$importance)
#glb_feats_df[grepl("npnct28", glb_feats_df$id), ]
#print(sprintf("%s OOB confusion matrix & accuracy: ", glb_sel_mdl_id)); print(t(confusionMatrix(glb_OOBobs_df[, paste0(glb_rsp_var_out, glb_sel_mdl_id)], glb_OOBobs_df[, glb_rsp_var])$table))

    # User specified bivariate models
#     indep_vars_vctr_lst <- list()
#     for (feat in setdiff(names(glb_fitobs_df), 
#                          union(glb_rsp_var, glb_exclude_vars_as_features)))
#         indep_vars_vctr_lst[["feat"]] <- feat

    # User specified combinatorial models
#     indep_vars_vctr_lst <- list()
#     combn_mtrx <- combn(c("<feat1_name>", "<feat2_name>", "<featn_name>"), 
#                           <num_feats_to_choose>)
#     for (combn_ix in 1:ncol(combn_mtrx))
#         #print(combn_mtrx[, combn_ix])
#         indep_vars_vctr_lst[[combn_ix]] <- combn_mtrx[, combn_ix]
    
    # template for myfit_mdl
    #   rf is hard-coded in caret to recognize only Accuracy / Kappa evaluation metrics
    #       only for OOB in trainControl ?
    
#     ret_lst <- myfit_mdl_fn(model_id=paste0(model_id_pfx, ""), model_method=method,
#                             indep_vars_vctr=indep_vars_vctr,
#                             rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
#                             fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
#                             n_cv_folds=glb_n_cv_folds, tune_models_df=glb_tune_models_df,
#                             model_loss_mtrx=glb_model_metric_terms,
#                             model_summaryFunction=glb_model_metric_smmry,
#                             model_metric=glb_model_metric,
#                             model_metric_maximize=glb_model_metric_maximize)

# Simplify a model
# fit_df <- glb_fitobs_df; glb_mdl <- step(<complex>_mdl)

# Non-caret models
#     rpart_area_mdl <- rpart(reformulate("Area", response=glb_rsp_var), 
#                                data=glb_fitobs_df, #method="class", 
#                                control=rpart.control(cp=0.12),
#                            parms=list(loss=glb_model_metric_terms))
#     print("rpart_sel_wlm_mdl"); prp(rpart_sel_wlm_mdl)
# 

print(glb_models_df)
##                                                    model_id model_method
## MFO.lm                                               MFO.lm           lm
## Max.cor.Y.cv.0.rpart                   Max.cor.Y.cv.0.rpart        rpart
## Max.cor.Y.cv.0.cp.0.rpart         Max.cor.Y.cv.0.cp.0.rpart        rpart
## Max.cor.Y.rpart                             Max.cor.Y.rpart        rpart
## Max.cor.Y.lm                                   Max.cor.Y.lm           lm
## Interact.High.cor.Y.lm               Interact.High.cor.Y.lm           lm
## Low.cor.X.lm                                   Low.cor.X.lm           lm
## All.X.lm                                           All.X.lm           lm
## All.X.glm                                         All.X.glm          glm
## All.X.bayesglm                               All.X.bayesglm     bayesglm
## All.X.glmnet                                   All.X.glmnet       glmnet
## All.X.no.rnorm.rpart                   All.X.no.rnorm.rpart        rpart
## All.X.no.rnorm.rf                         All.X.no.rnorm.rf           rf
## All.Interact.X.lm                         All.Interact.X.lm           lm
## All.Interact.X.glm                       All.Interact.X.glm          glm
## All.Interact.X.bayesglm             All.Interact.X.bayesglm     bayesglm
## All.Interact.X.glmnet                 All.Interact.X.glmnet       glmnet
## All.Interact.X.no.rnorm.rpart All.Interact.X.no.rnorm.rpart        rpart
## All.Interact.X.no.rnorm.rf       All.Interact.X.no.rnorm.rf           rf
## csm.lm                                               csm.lm           lm
## csm.glm                                             csm.glm          glm
## csm.bayesglm                                   csm.bayesglm     bayesglm
## csm.glmnet                                       csm.glmnet       glmnet
## csm.rpart                                         csm.rpart        rpart
## csm.rf                                               csm.rf           rf
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     feats
## MFO.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             .rnorm
## Max.cor.Y.cv.0.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            biddable, prdline.my.fctr
## Max.cor.Y.cv.0.cp.0.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       biddable, prdline.my.fctr
## Max.cor.Y.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 biddable, prdline.my.fctr
## Max.cor.Y.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    biddable, prdline.my.fctr
## Interact.High.cor.Y.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                         biddable, prdline.my.fctr, biddable:D.npnct24.log, biddable:carrier.fctr, biddable:D.npnct06.log, biddable:D.terms.n.post.stop, biddable:D.nstopwrds.log, biddable:D.TfIdf.sum.post.stop, biddable:D.terms.n.post.stop.log, biddable:D.nwrds.unq.log, biddable:D.nuppr.log, biddable:D.TfIdf.sum.post.stem
## Low.cor.X.lm                                                                                                                                                                                                                                                                                                                                 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.ratio.sum.TfIdf.nwrds, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.lm                                                      prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.glm                                                     prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.bayesglm                                                prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.glmnet                                                  prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.no.rnorm.rpart                                                  prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.no.rnorm.rf                                                     prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.lm             prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.glm            prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.bayesglm       prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.glmnet         prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.no.rnorm.rpart         prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.no.rnorm.rf            prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## csm.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.glm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.bayesglm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.glmnet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.rf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##                               max.nTuningRuns min.elapsedtime.everything
## MFO.lm                                      0                      0.486
## Max.cor.Y.cv.0.rpart                        0                      0.635
## Max.cor.Y.cv.0.cp.0.rpart                   0                      0.478
## Max.cor.Y.rpart                             3                      1.025
## Max.cor.Y.lm                                1                      0.966
## Interact.High.cor.Y.lm                      1                      0.956
## Low.cor.X.lm                                1                      1.283
## All.X.lm                                    1                      1.196
## All.X.glm                                   1                      1.302
## All.X.bayesglm                              1                      2.998
## All.X.glmnet                                9                      1.457
## All.X.no.rnorm.rpart                        3                      1.821
## All.X.no.rnorm.rf                           3                     68.482
## All.Interact.X.lm                           1                      1.334
## All.Interact.X.glm                          1                      1.298
## All.Interact.X.bayesglm                     1                      2.999
## All.Interact.X.glmnet                       9                      1.480
## All.Interact.X.no.rnorm.rpart               3                      2.168
## All.Interact.X.no.rnorm.rf                  3                     81.283
## csm.lm                                      1                      1.269
## csm.glm                                     1                      1.349
## csm.bayesglm                                1                      2.327
## csm.glmnet                                  9                      1.360
## csm.rpart                                   3                      1.966
## csm.rf                                      3                     61.304
##                               min.elapsedtime.final max.R.sq.fit
## MFO.lm                                        0.004  0.000059178
## Max.cor.Y.cv.0.rpart                          0.015  0.000000000
## Max.cor.Y.cv.0.cp.0.rpart                     0.011  0.505945116
## Max.cor.Y.rpart                               0.015  0.359065023
## Max.cor.Y.lm                                  0.006  0.484368211
## Interact.High.cor.Y.lm                        0.014  0.496495648
## Low.cor.X.lm                                  0.053  0.664882329
## All.X.lm                                      0.063  0.669901170
## All.X.glm                                     0.102  0.669901170
## All.X.bayesglm                                0.745  0.669726901
## All.X.glmnet                                  0.040  0.664798108
## All.X.no.rnorm.rpart                          0.126  0.359065023
## All.X.no.rnorm.rf                            24.206  0.923864443
## All.Interact.X.lm                             0.101  0.690917027
## All.Interact.X.glm                            0.116  0.690917027
## All.Interact.X.bayesglm                       0.982  0.690710407
## All.Interact.X.glmnet                         0.049  0.688556502
## All.Interact.X.no.rnorm.rpart                 0.128  0.361093426
## All.Interact.X.no.rnorm.rf                   28.481  0.927637864
## csm.lm                                        0.073  0.621216916
## csm.glm                                       0.120  0.621216916
## csm.bayesglm                                  0.656  0.621214303
## csm.glmnet                                    0.028  0.613515794
## csm.rpart                                     0.112  0.359065023
## csm.rf                                       21.416  0.717552167
##                               min.RMSE.fit  max.R.sq.OOB min.RMSE.OOB
## MFO.lm                           170.34851 -0.0009216371     173.3545
## Max.cor.Y.cv.0.rpart             170.35355  0.0000000000     173.2747
## Max.cor.Y.cv.0.cp.0.rpart        119.73987  0.4508173959     128.4084
## Max.cor.Y.rpart                  134.81838  0.3209142767     142.7899
## Max.cor.Y.lm                     122.75585  0.4300359559     130.8154
## Interact.High.cor.Y.lm           122.17614  0.4278967451     131.0606
## Low.cor.X.lm                     102.63086  0.5499382378     116.2442
## All.X.lm                         102.19677  0.5509503685     116.1134
## All.X.glm                        102.19677  0.5509503685     116.1134
## All.X.bayesglm                   102.13102  0.5514321729     116.0511
## All.X.glmnet                     101.89882  0.5586710646     115.1109
## All.X.no.rnorm.rpart             133.29864  0.3209142767     142.7899
## All.X.no.rnorm.rf                 97.56147  0.5474903751     116.5649
## All.Interact.X.lm                 99.41512  0.5271413171     119.1518
## All.Interact.X.glm                99.41512  0.5271413171     119.1518
## All.Interact.X.bayesglm           99.36220  0.5274745018     119.1099
## All.Interact.X.glmnet             99.25138  0.5363701270     117.9834
## All.Interact.X.no.rnorm.rpart    133.52978  0.3212929245     142.7501
## All.Interact.X.no.rnorm.rf        99.81446  0.5301107517     118.7819
## csm.lm                           111.25921  0.5420391989     117.2598
## csm.glm                          111.25921  0.5420391989     117.2598
## csm.bayesglm                     111.17402  0.5420843077     117.2540
## csm.glmnet                       109.73134  0.5437790872     117.0369
## csm.rpart                        133.29864  0.3209142767     142.7899
## csm.rf                           110.41473  0.5391101087     117.6358
##                               max.Adj.R.sq.fit max.Rsquared.fit
## MFO.lm                           -0.0004792931               NA
## Max.cor.Y.cv.0.rpart                        NA               NA
## Max.cor.Y.cv.0.cp.0.rpart                   NA               NA
## Max.cor.Y.rpart                             NA        0.3757515
## Max.cor.Y.lm                      0.4824182255        0.4808090
## Interact.High.cor.Y.lm            0.4904623716        0.4857043
## Low.cor.X.lm                      0.6523458225        0.6367757
## All.X.lm                          0.6550485788        0.6397998
## All.X.glm                                   NA        0.6397998
## All.X.bayesglm                              NA        0.6402516
## All.X.glmnet                                NA        0.6414783
## All.X.no.rnorm.rpart                        NA        0.3897786
## All.X.no.rnorm.rf                           NA        0.6705374
## All.Interact.X.lm                 0.6748153092        0.6592594
## All.Interact.X.glm                          NA        0.6592594
## All.Interact.X.bayesglm                     NA        0.6595932
## All.Interact.X.glmnet                       NA        0.6600662
## All.Interact.X.no.rnorm.rpart               NA        0.3886849
## All.Interact.X.no.rnorm.rf                  NA        0.6555804
## csm.lm                            0.6019349714        0.5752187
## csm.glm                                     NA        0.5752187
## csm.bayesglm                                NA        0.5758072
## csm.glmnet                                  NA        0.5851913
## csm.rpart                                   NA        0.3897786
## csm.rf                                      NA        0.5822801
##                               min.RMSESD.fit max.RsquaredSD.fit
## MFO.lm                                    NA                 NA
## Max.cor.Y.cv.0.rpart                      NA                 NA
## Max.cor.Y.cv.0.cp.0.rpart                 NA                 NA
## Max.cor.Y.rpart                     2.629090         0.02583973
## Max.cor.Y.lm                        3.627481         0.03270880
## Interact.High.cor.Y.lm              4.465793         0.03984517
## Low.cor.X.lm                        5.230233         0.03879193
## All.X.lm                            5.770372         0.04332778
## All.X.glm                           5.770372         0.04332778
## All.X.bayesglm                      5.646925         0.04237281
## All.X.glmnet                        5.733788         0.04264401
## All.X.no.rnorm.rpart                2.725981         0.03022870
## All.X.no.rnorm.rf                   8.181706         0.05684180
## All.Interact.X.lm                   5.921147         0.04305645
## All.Interact.X.glm                  5.921147         0.04305645
## All.Interact.X.bayesglm             5.855718         0.04250045
## All.Interact.X.glmnet               5.858388         0.04223710
## All.Interact.X.no.rnorm.rpart       3.122861         0.03323354
## All.Interact.X.no.rnorm.rf          7.629279         0.05368373
## csm.lm                              5.391855         0.04061329
## csm.glm                             5.391855         0.04061329
## csm.bayesglm                        5.431320         0.04089971
## csm.glmnet                          5.255599         0.04124640
## csm.rpart                           2.725981         0.03022870
## csm.rf                              6.140705         0.04740071
##                               min.aic.fit
## MFO.lm                                 NA
## Max.cor.Y.cv.0.rpart                   NA
## Max.cor.Y.cv.0.cp.0.rpart              NA
## Max.cor.Y.rpart                        NA
## Max.cor.Y.lm                           NA
## Interact.High.cor.Y.lm                 NA
## Low.cor.X.lm                           NA
## All.X.lm                               NA
## All.X.glm                        22481.79
## All.X.bayesglm                   22502.77
## All.X.glmnet                           NA
## All.X.no.rnorm.rpart                   NA
## All.X.no.rnorm.rf                      NA
## All.Interact.X.lm                      NA
## All.Interact.X.glm               22383.50
## All.Interact.X.bayesglm          22404.74
## All.Interact.X.glmnet                  NA
## All.Interact.X.no.rnorm.rpart          NA
## All.Interact.X.no.rnorm.rf             NA
## csm.lm                                 NA
## csm.glm                          22757.53
## csm.bayesglm                     22771.55
## csm.glmnet                             NA
## csm.rpart                              NA
## csm.rf                                 NA
rm(ret_lst)
fit.models_1_chunk_df <- myadd_chunk(fit.models_1_chunk_df, "fit.models_1_end", 
                                     major.inc=TRUE)
##               label step_major step_minor     bgn     end elapsed
## 13  fit.models_1_rf         13          0 225.603 391.688 166.085
## 14 fit.models_1_end         14          0 391.689      NA      NA
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=FALSE)
##         label step_major step_minor     bgn     end elapsed
## 11 fit.models          7          1 114.154 391.695 277.541
## 12 fit.models          7          2 391.695      NA      NA
if (!is.null(glb_model_metric_smmry)) {
    stats_df <- glb_models_df[, "model_id", FALSE]

    stats_mdl_df <- data.frame()
    for (model_id in stats_df$model_id) {
        stats_mdl_df <- rbind(stats_mdl_df, 
            mypredict_mdl(glb_models_lst[[model_id]], glb_fitobs_df, glb_rsp_var, 
                          glb_rsp_var_out, model_id, "fit",
                                glb_model_metric_smmry, glb_model_metric, 
                                glb_model_metric_maximize, ret_type="stats"))
    }
    stats_df <- merge(stats_df, stats_mdl_df, all.x=TRUE)
    
    stats_mdl_df <- data.frame()
    for (model_id in stats_df$model_id) {
        stats_mdl_df <- rbind(stats_mdl_df, 
            mypredict_mdl(glb_models_lst[[model_id]], glb_OOBobs_df, glb_rsp_var, 
                          glb_rsp_var_out, model_id, "OOB",
                                glb_model_metric_smmry, glb_model_metric, 
                                glb_model_metric_maximize, ret_type="stats"))
    }
    stats_df <- merge(stats_df, stats_mdl_df, all.x=TRUE)
    
    print("Merging following data into glb_models_df:")
    print(stats_mrg_df <- stats_df[, c(1, grep(glb_model_metric, names(stats_df)))])
    print(tmp_models_df <- orderBy(~model_id, glb_models_df[, c("model_id",
                                    grep(glb_model_metric, names(stats_df), value=TRUE))]))

    tmp2_models_df <- glb_models_df[, c("model_id", setdiff(names(glb_models_df),
                                    grep(glb_model_metric, names(stats_df), value=TRUE)))]
    tmp3_models_df <- merge(tmp2_models_df, stats_mrg_df, all.x=TRUE, sort=FALSE)
    print(tmp3_models_df)
    print(names(tmp3_models_df))
    print(glb_models_df <- subset(tmp3_models_df, select=-model_id.1))
}

plt_models_df <- glb_models_df[, -grep("SD|Upper|Lower", names(glb_models_df))]
for (var in grep("^min.", names(plt_models_df), value=TRUE)) {
    plt_models_df[, sub("min.", "inv.", var)] <- 
        #ifelse(all(is.na(tmp <- plt_models_df[, var])), NA, 1.0 / tmp)
        1.0 / plt_models_df[, var]
    plt_models_df <- plt_models_df[ , -grep(var, names(plt_models_df))]
}
print(plt_models_df)
##                                                    model_id model_method
## MFO.lm                                               MFO.lm           lm
## Max.cor.Y.cv.0.rpart                   Max.cor.Y.cv.0.rpart        rpart
## Max.cor.Y.cv.0.cp.0.rpart         Max.cor.Y.cv.0.cp.0.rpart        rpart
## Max.cor.Y.rpart                             Max.cor.Y.rpart        rpart
## Max.cor.Y.lm                                   Max.cor.Y.lm           lm
## Interact.High.cor.Y.lm               Interact.High.cor.Y.lm           lm
## Low.cor.X.lm                                   Low.cor.X.lm           lm
## All.X.lm                                           All.X.lm           lm
## All.X.glm                                         All.X.glm          glm
## All.X.bayesglm                               All.X.bayesglm     bayesglm
## All.X.glmnet                                   All.X.glmnet       glmnet
## All.X.no.rnorm.rpart                   All.X.no.rnorm.rpart        rpart
## All.X.no.rnorm.rf                         All.X.no.rnorm.rf           rf
## All.Interact.X.lm                         All.Interact.X.lm           lm
## All.Interact.X.glm                       All.Interact.X.glm          glm
## All.Interact.X.bayesglm             All.Interact.X.bayesglm     bayesglm
## All.Interact.X.glmnet                 All.Interact.X.glmnet       glmnet
## All.Interact.X.no.rnorm.rpart All.Interact.X.no.rnorm.rpart        rpart
## All.Interact.X.no.rnorm.rf       All.Interact.X.no.rnorm.rf           rf
## csm.lm                                               csm.lm           lm
## csm.glm                                             csm.glm          glm
## csm.bayesglm                                   csm.bayesglm     bayesglm
## csm.glmnet                                       csm.glmnet       glmnet
## csm.rpart                                         csm.rpart        rpart
## csm.rf                                               csm.rf           rf
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     feats
## MFO.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             .rnorm
## Max.cor.Y.cv.0.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            biddable, prdline.my.fctr
## Max.cor.Y.cv.0.cp.0.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       biddable, prdline.my.fctr
## Max.cor.Y.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 biddable, prdline.my.fctr
## Max.cor.Y.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    biddable, prdline.my.fctr
## Interact.High.cor.Y.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                         biddable, prdline.my.fctr, biddable:D.npnct24.log, biddable:carrier.fctr, biddable:D.npnct06.log, biddable:D.terms.n.post.stop, biddable:D.nstopwrds.log, biddable:D.TfIdf.sum.post.stop, biddable:D.terms.n.post.stop.log, biddable:D.nwrds.unq.log, biddable:D.nuppr.log, biddable:D.TfIdf.sum.post.stem
## Low.cor.X.lm                                                                                                                                                                                                                                                                                                                                 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.ratio.sum.TfIdf.nwrds, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.lm                                                      prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.glm                                                     prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.bayesglm                                                prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.glmnet                                                  prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.no.rnorm.rpart                                                  prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.X.no.rnorm.rf                                                     prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.lm             prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.glm            prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.bayesglm       prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.glmnet         prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.no.rnorm.rpart         prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## All.Interact.X.no.rnorm.rf            prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, prdline.my.fctr*biddable, prdline.my.fctr*idseq.my, prdline.my.fctr:.clusterid.fctr
## csm.lm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.glm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.bayesglm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.glmnet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.rpart                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
## csm.rf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     prdline.my.fctr, prdline.my.fctr:.clusterid.fctr, prdline.my.fctr*biddable, prdline.my.fctr*condition.fctr, prdline.my.fctr*D.terms.n.post.stop, prdline.my.fctr*cellular.fctr
##                               max.nTuningRuns max.R.sq.fit  max.R.sq.OOB
## MFO.lm                                      0  0.000059178 -0.0009216371
## Max.cor.Y.cv.0.rpart                        0  0.000000000  0.0000000000
## Max.cor.Y.cv.0.cp.0.rpart                   0  0.505945116  0.4508173959
## Max.cor.Y.rpart                             3  0.359065023  0.3209142767
## Max.cor.Y.lm                                1  0.484368211  0.4300359559
## Interact.High.cor.Y.lm                      1  0.496495648  0.4278967451
## Low.cor.X.lm                                1  0.664882329  0.5499382378
## All.X.lm                                    1  0.669901170  0.5509503685
## All.X.glm                                   1  0.669901170  0.5509503685
## All.X.bayesglm                              1  0.669726901  0.5514321729
## All.X.glmnet                                9  0.664798108  0.5586710646
## All.X.no.rnorm.rpart                        3  0.359065023  0.3209142767
## All.X.no.rnorm.rf                           3  0.923864443  0.5474903751
## All.Interact.X.lm                           1  0.690917027  0.5271413171
## All.Interact.X.glm                          1  0.690917027  0.5271413171
## All.Interact.X.bayesglm                     1  0.690710407  0.5274745018
## All.Interact.X.glmnet                       9  0.688556502  0.5363701270
## All.Interact.X.no.rnorm.rpart               3  0.361093426  0.3212929245
## All.Interact.X.no.rnorm.rf                  3  0.927637864  0.5301107517
## csm.lm                                      1  0.621216916  0.5420391989
## csm.glm                                     1  0.621216916  0.5420391989
## csm.bayesglm                                1  0.621214303  0.5420843077
## csm.glmnet                                  9  0.613515794  0.5437790872
## csm.rpart                                   3  0.359065023  0.3209142767
## csm.rf                                      3  0.717552167  0.5391101087
##                               max.Adj.R.sq.fit max.Rsquared.fit
## MFO.lm                           -0.0004792931               NA
## Max.cor.Y.cv.0.rpart                        NA               NA
## Max.cor.Y.cv.0.cp.0.rpart                   NA               NA
## Max.cor.Y.rpart                             NA        0.3757515
## Max.cor.Y.lm                      0.4824182255        0.4808090
## Interact.High.cor.Y.lm            0.4904623716        0.4857043
## Low.cor.X.lm                      0.6523458225        0.6367757
## All.X.lm                          0.6550485788        0.6397998
## All.X.glm                                   NA        0.6397998
## All.X.bayesglm                              NA        0.6402516
## All.X.glmnet                                NA        0.6414783
## All.X.no.rnorm.rpart                        NA        0.3897786
## All.X.no.rnorm.rf                           NA        0.6705374
## All.Interact.X.lm                 0.6748153092        0.6592594
## All.Interact.X.glm                          NA        0.6592594
## All.Interact.X.bayesglm                     NA        0.6595932
## All.Interact.X.glmnet                       NA        0.6600662
## All.Interact.X.no.rnorm.rpart               NA        0.3886849
## All.Interact.X.no.rnorm.rf                  NA        0.6555804
## csm.lm                            0.6019349714        0.5752187
## csm.glm                                     NA        0.5752187
## csm.bayesglm                                NA        0.5758072
## csm.glmnet                                  NA        0.5851913
## csm.rpart                                   NA        0.3897786
## csm.rf                                      NA        0.5822801
##                               inv.elapsedtime.everything
## MFO.lm                                        2.05761317
## Max.cor.Y.cv.0.rpart                          1.57480315
## Max.cor.Y.cv.0.cp.0.rpart                     2.09205021
## Max.cor.Y.rpart                               0.97560976
## Max.cor.Y.lm                                  1.03519669
## Interact.High.cor.Y.lm                        1.04602510
## Low.cor.X.lm                                  0.77942323
## All.X.lm                                      0.83612040
## All.X.glm                                     0.76804916
## All.X.bayesglm                                0.33355570
## All.X.glmnet                                  0.68634180
## All.X.no.rnorm.rpart                          0.54914882
## All.X.no.rnorm.rf                             0.01460238
## All.Interact.X.lm                             0.74962519
## All.Interact.X.glm                            0.77041602
## All.Interact.X.bayesglm                       0.33344448
## All.Interact.X.glmnet                         0.67567568
## All.Interact.X.no.rnorm.rpart                 0.46125461
## All.Interact.X.no.rnorm.rf                    0.01230270
## csm.lm                                        0.78802206
## csm.glm                                       0.74128984
## csm.bayesglm                                  0.42973786
## csm.glmnet                                    0.73529412
## csm.rpart                                     0.50864700
## csm.rf                                        0.01631215
##                               inv.elapsedtime.final inv.RMSE.fit
## MFO.lm                                 250.00000000  0.005870319
## Max.cor.Y.cv.0.rpart                    66.66666667  0.005870145
## Max.cor.Y.cv.0.cp.0.rpart               90.90909091  0.008351437
## Max.cor.Y.rpart                         66.66666667  0.007417386
## Max.cor.Y.lm                           166.66666667  0.008146252
## Interact.High.cor.Y.lm                  71.42857143  0.008184904
## Low.cor.X.lm                            18.86792453  0.009743658
## All.X.lm                                15.87301587  0.009785045
## All.X.glm                                9.80392157  0.009785045
## All.X.bayesglm                           1.34228188  0.009791344
## All.X.glmnet                            25.00000000  0.009813656
## All.X.no.rnorm.rpart                     7.93650794  0.007501952
## All.X.no.rnorm.rf                        0.04131207  0.010249948
## All.Interact.X.lm                        9.90099010  0.010058832
## All.Interact.X.glm                       8.62068966  0.010058832
## All.Interact.X.bayesglm                  1.01832994  0.010064189
## All.Interact.X.glmnet                   20.40816327  0.010075427
## All.Interact.X.no.rnorm.rpart            7.81250000  0.007488966
## All.Interact.X.no.rnorm.rf               0.03511113  0.010018588
## csm.lm                                  13.69863014  0.008988020
## csm.glm                                  8.33333333  0.008988020
## csm.bayesglm                             1.52439024  0.008994907
## csm.glmnet                              35.71428571  0.009113167
## csm.rpart                                8.92857143  0.007501952
## csm.rf                                   0.04669406  0.009056762
##                               inv.RMSE.OOB  inv.aic.fit
## MFO.lm                         0.005768526           NA
## Max.cor.Y.cv.0.rpart           0.005771184           NA
## Max.cor.Y.cv.0.cp.0.rpart      0.007787652           NA
## Max.cor.Y.rpart                0.007003298           NA
## Max.cor.Y.lm                   0.007644361           NA
## Interact.High.cor.Y.lm         0.007630056           NA
## Low.cor.X.lm                   0.008602583           NA
## All.X.lm                       0.008612272           NA
## All.X.glm                      0.008612272 4.448045e-05
## All.X.bayesglm                 0.008616896 4.443897e-05
## All.X.glmnet                   0.008687278           NA
## All.X.no.rnorm.rpart           0.007003298           NA
## All.X.no.rnorm.rf              0.008578910           NA
## All.Interact.X.lm              0.008392652           NA
## All.Interact.X.glm             0.008392652 4.467577e-05
## All.Interact.X.bayesglm        0.008395611 4.463341e-05
## All.Interact.X.glmnet          0.008475771           NA
## All.Interact.X.no.rnorm.rpart  0.007005251           NA
## All.Interact.X.no.rnorm.rf     0.008418789           NA
## csm.lm                         0.008528070           NA
## csm.glm                        0.008528070 4.394149e-05
## csm.bayesglm                   0.008528490 4.391445e-05
## csm.glmnet                     0.008544316           NA
## csm.rpart                      0.007003298           NA
## csm.rf                         0.008500816           NA
print(myplot_radar(radar_inp_df=plt_models_df))
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 25. Consider specifying shapes manually if you must have them.
## Warning: Removed 5 rows containing missing values (geom_path).
## Warning: Removed 203 rows containing missing values (geom_point).
## Warning: Removed 40 rows containing missing values (geom_text).
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 25. Consider specifying shapes manually if you must have them.

# print(myplot_radar(radar_inp_df=subset(plt_models_df, 
#         !(model_id %in% grep("random|MFO", plt_models_df$model_id, value=TRUE)))))

# Compute CI for <metric>SD
glb_models_df <- mutate(glb_models_df, 
                max.df = ifelse(max.nTuningRuns > 1, max.nTuningRuns - 1, NA),
                min.sd2ci.scaler = ifelse(is.na(max.df), NA, qt(0.975, max.df)))
for (var in grep("SD", names(glb_models_df), value=TRUE)) {
    # Does CI alredy exist ?
    var_components <- unlist(strsplit(var, "SD"))
    varActul <- paste0(var_components[1],          var_components[2])
    varUpper <- paste0(var_components[1], "Upper", var_components[2])
    varLower <- paste0(var_components[1], "Lower", var_components[2])
    if (varUpper %in% names(glb_models_df)) {
        warning(varUpper, " already exists in glb_models_df")
        # Assuming Lower also exists
        next
    }    
    print(sprintf("var:%s", var))
    # CI is dependent on sample size in t distribution; df=n-1
    glb_models_df[, varUpper] <- glb_models_df[, varActul] + 
        glb_models_df[, "min.sd2ci.scaler"] * glb_models_df[, var]
    glb_models_df[, varLower] <- glb_models_df[, varActul] - 
        glb_models_df[, "min.sd2ci.scaler"] * glb_models_df[, var]
}
## [1] "var:min.RMSESD.fit"
## [1] "var:max.RsquaredSD.fit"
# Plot metrics with CI
plt_models_df <- glb_models_df[, "model_id", FALSE]
pltCI_models_df <- glb_models_df[, "model_id", FALSE]
for (var in grep("Upper", names(glb_models_df), value=TRUE)) {
    var_components <- unlist(strsplit(var, "Upper"))
    col_name <- unlist(paste(var_components, collapse=""))
    plt_models_df[, col_name] <- glb_models_df[, col_name]
    for (name in paste0(var_components[1], c("Upper", "Lower"), var_components[2]))
        pltCI_models_df[, name] <- glb_models_df[, name]
}

build_statsCI_data <- function(plt_models_df) {
    mltd_models_df <- melt(plt_models_df, id.vars="model_id")
    mltd_models_df$data <- sapply(1:nrow(mltd_models_df), 
        function(row_ix) tail(unlist(strsplit(as.character(
            mltd_models_df[row_ix, "variable"]), "[.]")), 1))
    mltd_models_df$label <- sapply(1:nrow(mltd_models_df), 
        function(row_ix) head(unlist(strsplit(as.character(
            mltd_models_df[row_ix, "variable"]), 
            paste0(".", mltd_models_df[row_ix, "data"]))), 1))
    #print(mltd_models_df)
    
    return(mltd_models_df)
}
mltd_models_df <- build_statsCI_data(plt_models_df)

mltdCI_models_df <- melt(pltCI_models_df, id.vars="model_id")
for (row_ix in 1:nrow(mltdCI_models_df)) {
    for (type in c("Upper", "Lower")) {
        if (length(var_components <- unlist(strsplit(
                as.character(mltdCI_models_df[row_ix, "variable"]), type))) > 1) {
            #print(sprintf("row_ix:%d; type:%s; ", row_ix, type))
            mltdCI_models_df[row_ix, "label"] <- var_components[1]
            mltdCI_models_df[row_ix, "data"] <- 
                unlist(strsplit(var_components[2], "[.]"))[2]
            mltdCI_models_df[row_ix, "type"] <- type
            break
        }
    }    
}
wideCI_models_df <- reshape(subset(mltdCI_models_df, select=-variable), 
                            timevar="type", 
        idvar=setdiff(names(mltdCI_models_df), c("type", "value", "variable")), 
                            direction="wide")
#print(wideCI_models_df)
mrgdCI_models_df <- merge(wideCI_models_df, mltd_models_df, all.x=TRUE)
#print(mrgdCI_models_df)

# Merge stats back in if CIs don't exist
goback_vars <- c()
for (var in unique(mltd_models_df$label)) {
    for (type in unique(mltd_models_df$data)) {
        var_type <- paste0(var, ".", type)
        # if this data is already present, next
        if (var_type %in% unique(paste(mltd_models_df$label, mltd_models_df$data,
                                       sep=".")))
            next
        #print(sprintf("var_type:%s", var_type))
        goback_vars <- c(goback_vars, var_type)
    }
}

if (length(goback_vars) > 0) {
    mltd_goback_df <- build_statsCI_data(glb_models_df[, c("model_id", goback_vars)])
    mltd_models_df <- rbind(mltd_models_df, mltd_goback_df)
}

mltd_models_df <- merge(mltd_models_df, glb_models_df[, c("model_id", "model_method")], 
                        all.x=TRUE)

png(paste0(glb_out_pfx, "models_bar.png"), width=480*3, height=480*2)
print(gp <- myplot_bar(mltd_models_df, "model_id", "value", colorcol_name="model_method") + 
        geom_errorbar(data=mrgdCI_models_df, 
            mapping=aes(x=model_id, ymax=value.Upper, ymin=value.Lower), width=0.5) + 
          facet_grid(label ~ data, scales="free") + 
          theme(axis.text.x = element_text(angle = 90,vjust = 0.5)))
## Warning: Removed 3 rows containing missing values (position_stack).
dev.off()
## quartz_off_screen 
##                 2
print(gp)
## Warning: Removed 3 rows containing missing values (position_stack).

# used for console inspection
model_evl_terms <- c(NULL)
for (metric in glb_model_evl_criteria)
    model_evl_terms <- c(model_evl_terms, 
                         ifelse(length(grep("max", metric)) > 0, "-", "+"), metric)
if (glb_is_classification && glb_is_binomial)
    model_evl_terms <- c(model_evl_terms, "-", "opt.prob.threshold.OOB")
model_sel_frmla <- as.formula(paste(c("~ ", model_evl_terms), collapse=" "))
dsp_models_cols <- c("model_id", glb_model_evl_criteria) 
if (glb_is_classification && glb_is_binomial) 
    dsp_models_cols <- c(dsp_models_cols, "opt.prob.threshold.OOB")
print(dsp_models_df <- orderBy(model_sel_frmla, glb_models_df)[, dsp_models_cols])
##                         model_id min.RMSE.OOB  max.R.sq.OOB
## 11                  All.X.glmnet     115.1109  0.5586710646
## 10                All.X.bayesglm     116.0511  0.5514321729
## 8                       All.X.lm     116.1134  0.5509503685
## 9                      All.X.glm     116.1134  0.5509503685
## 7                   Low.cor.X.lm     116.2442  0.5499382378
## 13             All.X.no.rnorm.rf     116.5649  0.5474903751
## 23                    csm.glmnet     117.0369  0.5437790872
## 22                  csm.bayesglm     117.2540  0.5420843077
## 20                        csm.lm     117.2598  0.5420391989
## 21                       csm.glm     117.2598  0.5420391989
## 25                        csm.rf     117.6358  0.5391101087
## 17         All.Interact.X.glmnet     117.9834  0.5363701270
## 19    All.Interact.X.no.rnorm.rf     118.7819  0.5301107517
## 16       All.Interact.X.bayesglm     119.1099  0.5274745018
## 14             All.Interact.X.lm     119.1518  0.5271413171
## 15            All.Interact.X.glm     119.1518  0.5271413171
## 3      Max.cor.Y.cv.0.cp.0.rpart     128.4084  0.4508173959
## 5                   Max.cor.Y.lm     130.8154  0.4300359559
## 6         Interact.High.cor.Y.lm     131.0606  0.4278967451
## 18 All.Interact.X.no.rnorm.rpart     142.7501  0.3212929245
## 12          All.X.no.rnorm.rpart     142.7899  0.3209142767
## 24                     csm.rpart     142.7899  0.3209142767
## 4                Max.cor.Y.rpart     142.7899  0.3209142767
## 2           Max.cor.Y.cv.0.rpart     173.2747  0.0000000000
## 1                         MFO.lm     173.3545 -0.0009216371
##    max.Adj.R.sq.fit
## 11               NA
## 10               NA
## 8      0.6550485788
## 9                NA
## 7      0.6523458225
## 13               NA
## 23               NA
## 22               NA
## 20     0.6019349714
## 21               NA
## 25               NA
## 17               NA
## 19               NA
## 16               NA
## 14     0.6748153092
## 15               NA
## 3                NA
## 5      0.4824182255
## 6      0.4904623716
## 18               NA
## 12               NA
## 24               NA
## 4                NA
## 2                NA
## 1     -0.0004792931
print(myplot_radar(radar_inp_df=dsp_models_df))
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 25. Consider specifying shapes manually if you must have them.
## Warning: Removed 8 rows containing missing values (geom_path).
## Warning: Removed 68 rows containing missing values (geom_point).
## Warning: Removed 18 rows containing missing values (geom_text).
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 25. Consider specifying shapes manually if you must have them.

print("Metrics used for model selection:"); print(model_sel_frmla)
## [1] "Metrics used for model selection:"
## ~+min.RMSE.OOB - max.R.sq.OOB - max.Adj.R.sq.fit
print(sprintf("Best model id: %s", dsp_models_df[1, "model_id"]))
## [1] "Best model id: All.X.glmnet"
if (is.null(glb_sel_mdl_id)) { 
    glb_sel_mdl_id <- dsp_models_df[1, "model_id"]
#     if (glb_sel_mdl_id == "Interact.High.cor.Y.glm") {
#         warning("glb_sel_mdl_id: Interact.High.cor.Y.glm; myextract_mdl_feats does not currently support interaction terms")
#         glb_sel_mdl_id <- dsp_models_df[2, "model_id"]
#     }
} else 
    print(sprintf("User specified selection: %s", glb_sel_mdl_id))   
    
myprint_mdl(glb_sel_mdl <- glb_models_lst[[glb_sel_mdl_id]])

##             Length Class      Mode     
## a0            94   -none-     numeric  
## beta        8460   dgCMatrix  S4       
## df            94   -none-     numeric  
## dim            2   -none-     numeric  
## lambda        94   -none-     numeric  
## dev.ratio     94   -none-     numeric  
## nulldev        1   -none-     numeric  
## npasses        1   -none-     numeric  
## jerr           1   -none-     numeric  
## offset         1   -none-     logical  
## call           5   -none-     call     
## nobs           1   -none-     numeric  
## lambdaOpt      1   -none-     numeric  
## xNames        90   -none-     character
## problemType    1   -none-     character
## tuneValue      2   data.frame list     
## obsLevels      1   -none-     logical  
## [1] "min lambda > lambdaOpt:"
##                                 (Intercept) 
##                                294.78257637 
##                       prdline.my.fctriPad 1 
##                                -76.71045424 
##                       prdline.my.fctriPad 2 
##                                -23.64322090 
##                      prdline.my.fctriPad 3+ 
##                                 24.95136901 
##                      prdline.my.fctriPadAir 
##                                119.79418098 
##                  prdline.my.fctriPadmini 2+ 
##                                 57.44456493 
##      condition.fctrFor parts or not working 
##                                -88.58209077 
##      condition.fctrManufacturer refurbished 
##                                 20.69027409 
##                           condition.fctrNew 
##                                 90.44265248 
##       condition.fctrNew other (see details) 
##                                 55.84012240 
##            condition.fctrSeller refurbished 
##                                 -9.35222586 
##                             color.fctrBlack 
##                                 -7.46170465 
##                              color.fctrGold 
##                                 50.76406013 
##                        color.fctrSpace Gray 
##                                  6.39766654 
##                             color.fctrWhite 
##                                  6.80464281 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                 25.43746154 
##                                    idseq.my 
##                                  0.02633208 
##                          carrier.fctrSprint 
##                                -16.90344697 
##                         carrier.fctrUnknown 
##                                 30.88068200 
##                               D.npnct09.log 
##                                 71.33981931 
##                               D.npnct10.log 
##                                 32.00751631 
##                   D.terms.n.stem.stop.Ratio 
##                                 27.42161833 
##                               D.npnct28.log 
##                                -31.23070785 
##                              cellular.fctr1 
##                                 14.88145023 
##                        cellular.fctrUnknown 
##                                -49.84674880 
##                               D.npnct14.log 
##                                 -6.44241930 
##                               D.npnct05.log 
##                                -11.72906659 
##                               D.npnct08.log 
##                                 -6.83561783 
##                               D.npnct01.log 
##                                 13.77599628 
##                               D.npnct15.log 
##                                 -8.60514295 
##                               D.npnct11.log 
##                                 -7.59188211 
##                               D.npnct03.log 
##                                 21.92795604 
##                              storage.fctr16 
##                               -162.98155887 
##                              storage.fctr32 
##                               -138.23288130 
##                              storage.fctr64 
##                                -94.74980540 
##                         storage.fctrUnknown 
##                               -151.03929961 
##                               D.npnct13.log 
##                                 -2.99822888 
##                     D.ratio.sum.TfIdf.nwrds 
##                                -12.14704821 
##                                    biddable 
##                               -116.86488285 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                 26.62965681 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                                -10.22155294 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                                 -2.72772819 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                 14.53079907 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                                -31.90398968 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                  0.88956465 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                 27.16155447 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                                 -5.97461085 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                                 -1.17994114 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                                 -0.66788627 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                 11.38256051 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                                -22.79555224 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                  2.82723340 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                 25.38093863 
## [1] "max lambda < lambdaOpt:"
##                                 (Intercept) 
##                                1.998775e+02 
##                       prdline.my.fctriPad 1 
##                               -7.644313e+01 
##                       prdline.my.fctriPad 2 
##                               -1.999249e+01 
##                      prdline.my.fctriPad 3+ 
##                                2.914958e+01 
##                      prdline.my.fctriPadAir 
##                                1.234229e+02 
##                     prdline.my.fctriPadmini 
##                                3.465888e+00 
##                  prdline.my.fctriPadmini 2+ 
##                                6.086067e+01 
##      condition.fctrFor parts or not working 
##                               -9.227346e+01 
##      condition.fctrManufacturer refurbished 
##                                2.554944e+01 
##                           condition.fctrNew 
##                                8.687130e+01 
##       condition.fctrNew other (see details) 
##                                5.599857e+01 
##            condition.fctrSeller refurbished 
##                               -1.402468e+01 
##                             color.fctrBlack 
##                               -7.412825e+00 
##                              color.fctrGold 
##                                5.278243e+01 
##                        color.fctrSpace Gray 
##                                1.063730e+01 
##                             color.fctrWhite 
##                                9.549012e+00 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                6.591341e+01 
##                     D.ratio.nstopwrds.nwrds 
##                                2.869129e+01 
##                                    idseq.my 
##                                2.824860e-02 
##                           carrier.fctrOther 
##                               -9.326523e+00 
##                          carrier.fctrSprint 
##                               -3.086106e+01 
##                        carrier.fctrT-Mobile 
##                               -4.973113e+00 
##                         carrier.fctrUnknown 
##                                3.307679e+01 
##                         carrier.fctrVerizon 
##                               -4.757925e+00 
##                               D.npnct09.log 
##                                9.151029e+01 
##                               D.npnct10.log 
##                                5.383163e+01 
##                   D.terms.n.stem.stop.Ratio 
##                                8.575788e+01 
##                               D.npnct28.log 
##                               -6.770364e+01 
##                              cellular.fctr1 
##                                1.701378e+01 
##                        cellular.fctrUnknown 
##                               -5.221195e+01 
##                               D.npnct14.log 
##                               -1.732644e+01 
##                                      .rnorm 
##                               -2.606380e-01 
##                               D.npnct05.log 
##                               -1.292165e+01 
##                               D.npnct08.log 
##                               -1.823787e+01 
##                               D.npnct01.log 
##                                1.689144e+01 
##                                 D.ndgts.log 
##                               -1.668628e+00 
##                               D.npnct12.log 
##                                2.053090e+00 
##                               D.npnct16.log 
##                                1.070520e+01 
##                               D.npnct06.log 
##                               -1.535096e+01 
##                               D.npnct15.log 
##                               -2.019071e+01 
##                               D.npnct11.log 
##                               -1.121243e+01 
##                               D.npnct03.log 
##                                3.598661e+01 
##                              storage.fctr16 
##                               -2.008292e+02 
##                              storage.fctr32 
##                               -1.783456e+02 
##                              storage.fctr64 
##                               -1.335379e+02 
##                         storage.fctrUnknown 
##                               -1.901398e+02 
##                               D.npnct13.log 
##                               -7.450029e+00 
##                         D.terms.n.post.stop 
##                               -1.798417e+00 
##                     D.ratio.sum.TfIdf.nwrds 
##                               -1.186745e+01 
##                             D.nstopwrds.log 
##                               -2.528831e+01 
##                             D.nwrds.unq.log 
##                               -2.345913e+00 
##                     D.terms.n.post.stem.log 
##                               -1.005925e-02 
##                     D.terms.n.post.stop.log 
##                               -1.337724e-03 
##                                 D.nwrds.log 
##                                4.736143e+01 
##                                 D.nchrs.log 
##                                3.200722e+00 
##                                 D.nuppr.log 
##                               -7.287495e+00 
##                               D.npnct24.log 
##                               -5.018553e+01 
##                       D.TfIdf.sum.post.stop 
##                                1.644332e+00 
##                                    biddable 
##                               -1.180910e+02 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                4.104686e+01 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                               -8.957112e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                               -1.877347e+00 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                2.133655e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                               -3.824864e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                1.142155e+01 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                3.398284e+01 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                               -4.613406e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr3 
##                                1.277467e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr3 
##                                1.452679e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr3 
##                                8.868811e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                               -1.113572e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr3 
##                               -2.720336e+00 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                               -7.412104e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                2.954268e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                               -2.510686e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                1.131957e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr4 
##                               -1.209120e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr4 
##                               -5.445225e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr5 
##                                1.254241e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                4.135022e+01 
## character(0)
## character(0)
## [1] TRUE
# From here to save(), this should all be in one function
#   these are executed in the same seq twice more:
#       fit.data.training & predict.data.new chunks
glb_get_predictions <- function(df, mdl_id, rsp_var_out, prob_threshold_def=NULL) {
    mdl <- glb_models_lst[[mdl_id]]
    rsp_var_out <- paste0(rsp_var_out, mdl_id)

    if (glb_is_regression) {
        df[, rsp_var_out] <- predict(mdl, newdata=df, type="raw")
        print(myplot_scatter(df, glb_rsp_var, rsp_var_out, smooth=TRUE))
        df[, paste0(rsp_var_out, ".err")] <- 
            abs(df[, rsp_var_out] - df[, glb_rsp_var])
        print(head(orderBy(reformulate(c("-", paste0(rsp_var_out, ".err"))), 
                           df)))                             
    }

    if (glb_is_classification && glb_is_binomial) {
        prob_threshold <- glb_models_df[glb_models_df$model_id == mdl_id, 
                                        "opt.prob.threshold.OOB"]
        if (is.null(prob_threshold) || is.na(prob_threshold)) {
            warning("Using default probability threshold: ", prob_threshold_def)
            if (is.null(prob_threshold <- prob_threshold_def))
                stop("Default probability threshold is NULL")
        }
        
        df[, paste0(rsp_var_out, ".prob")] <- 
            predict(mdl, newdata=df, type="prob")[, 2]
        df[, rsp_var_out] <- 
                factor(levels(df[, glb_rsp_var])[
                    (df[, paste0(rsp_var_out, ".prob")] >=
                        prob_threshold) * 1 + 1], levels(df[, glb_rsp_var]))
    
        # prediction stats already reported by myfit_mdl ???
    }    
    
    if (glb_is_classification && !glb_is_binomial) {
        df[, rsp_var_out] <- predict(mdl, newdata=df, type="raw")
        df[, paste0(rsp_var_out, ".prob")] <- 
            predict(mdl, newdata=df, type="prob")
    }

    return(df)
}    
glb_OOBobs_df <- glb_get_predictions(df=glb_OOBobs_df, mdl_id=glb_sel_mdl_id, 
                                     rsp_var_out=glb_rsp_var_out)
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.

##      UniqueID
## 2623    12625
## 2352    12354
## 2100    12102
## 2454    12456
## 2632    12634
## 2094    12096
##                                                                                                description
## 2623 Lot of 10 mixed iPad minis. Colors,models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                      
## 2100                                                                                                      
## 2454                                                                                                      
## 2632                                            Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
## 2094                                                                                                      
##      biddable startprice                condition cellular  carrier
## 2623        0     999.99 For parts or not working  Unknown  Unknown
## 2352        1       0.99                     Used        0     None
## 2100        1       1.00                      New        1     AT&T
## 2454        1       0.99                      New        1 T-Mobile
## 2632        0     700.00                     Used        1  Verizon
## 2094        0       9.00                     Used  Unknown  Unknown
##           color storage productline sold .src .grpid     .rnorm idseq.my
## 2623      White Unknown     Unknown   NA Test   <NA> -0.9259777     2625
## 2352       Gold     128  iPad Air 2   NA Test   <NA>  0.1545570     2354
## 2100 Space Gray     128 iPad mini 2   NA Test   <NA>  2.2673657     2102
## 2454      White      64  iPad Air 2   NA Test   <NA>  0.4458716     2456
## 2632    Unknown      32      iPad 2   NA Test   <NA>  0.8127608     2634
## 2094 Space Gray      64  iPad Air 2   NA Test   <NA> -0.3700640     2096
##       prdline.my startprice.log
## 2623    iPadmini     6.90774528
## 2352     iPadAir    -0.01005034
## 2100 iPadmini 2+     0.00000000
## 2454     iPadAir    -0.01005034
## 2632      iPad 2     6.55108034
## 2094     iPadAir     2.19722458
##                                                                                                    descr.my
## 2623 Lot of 10 mixed iPad minis. Colors, models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                       
## 2100                                                                                                       
## 2454                                                                                                       
## 2632                                             Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
## 2094                                                                                                       
##                condition.fctr cellular.fctr carrier.fctr color.fctr
## 2623 For parts or not working       Unknown      Unknown      White
## 2352                     Used             0         None       Gold
## 2100                      New             1         AT&T Space Gray
## 2454                      New             1     T-Mobile      White
## 2632                     Used             1      Verizon    Unknown
## 2094                     Used       Unknown      Unknown Space Gray
##      storage.fctr prdline.my.fctr D.terms.n.post.stop
## 2623      Unknown        iPadmini                   8
## 2352          128         iPadAir                   0
## 2100          128     iPadmini 2+                   0
## 2454           64         iPadAir                   0
## 2632           32          iPad 2                   8
## 2094           64         iPadAir                   0
##      D.terms.n.post.stop.log D.TfIdf.sum.post.stop D.terms.n.post.stem
## 2623                2.197225              9.127623                   8
## 2352                0.000000              0.000000                   0
## 2100                0.000000              0.000000                   0
## 2454                0.000000              0.000000                   0
## 2632                2.197225              7.047501                   8
## 2094                0.000000              0.000000                   0
##      D.terms.n.post.stem.log D.TfIdf.sum.post.stem
## 2623                2.197225              8.069403
## 2352                0.000000              0.000000
## 2100                0.000000              0.000000
## 2454                0.000000              0.000000
## 2632                2.197225              6.969581
## 2094                0.000000              0.000000
##      D.terms.n.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio D.T.condit
## 2623                         1                   0.8840640  0.0000000
## 2352                         1                   1.0000000  0.0000000
## 2100                         1                   1.0000000  0.0000000
## 2454                         1                   1.0000000  0.0000000
## 2632                         1                   0.9889437  0.3026733
## 2094                         1                   1.0000000  0.0000000
##      D.T.use D.T.scratch D.T.new  D.T.good  D.T.ipad D.T.screen D.T.great
## 2623       0           0       0 0.0000000 0.3908446          0         0
## 2352       0           0       0 0.0000000 0.0000000          0         0
## 2100       0           0       0 0.0000000 0.0000000          0         0
## 2454       0           0       0 0.0000000 0.0000000          0         0
## 2632       0           0       0 0.4691913 0.4397002          0         0
## 2094       0           0       0 0.0000000 0.0000000          0         0
##      D.T.work D.T.excel D.nwrds.log D.nwrds.unq.log D.sum.TfIdf
## 2623        0         0    2.944439        2.197225    8.069403
## 2352        0         0    0.000000        0.000000    0.000000
## 2100        0         0    0.000000        0.000000    0.000000
## 2454        0         0    0.000000        0.000000    0.000000
## 2632        0         0    2.484907        2.197225    6.969581
## 2094        0         0    0.000000        0.000000    0.000000
##      D.ratio.sum.TfIdf.nwrds D.nchrs.log D.nuppr.log D.ndgts.log
## 2623               0.4483002    4.634729    4.356709    1.098612
## 2352               0.0000000    0.000000    0.000000    0.000000
## 2100               0.0000000    0.000000    0.000000    0.000000
## 2454               0.0000000    0.000000    0.000000    0.000000
## 2632               0.6335983    4.077537    3.713572    1.609438
## 2094               0.0000000    0.000000    0.000000    0.000000
##      D.npnct01.log D.npnct03.log D.npnct05.log D.npnct06.log D.npnct08.log
## 2623             0             0             0     0.6931472             0
## 2352             0             0             0     0.0000000             0
## 2100             0             0             0     0.0000000             0
## 2454             0             0             0     0.0000000             0
## 2632             0             0             0     0.0000000             0
## 2094             0             0             0     0.0000000             0
##      D.npnct09.log D.npnct10.log D.npnct11.log D.npnct12.log D.npnct13.log
## 2623             0     0.0000000     0.6931472             0      1.098612
## 2352             0     0.0000000     0.0000000             0      0.000000
## 2100             0     0.0000000     0.0000000             0      0.000000
## 2454             0     0.0000000     0.0000000             0      0.000000
## 2632             0     0.6931472     0.0000000             0      1.098612
## 2094             0     0.0000000     0.0000000             0      0.000000
##      D.npnct14.log D.npnct15.log D.npnct16.log D.npnct24.log D.npnct28.log
## 2623             0             0     0.6931472     0.6931472             0
## 2352             0             0     0.0000000     0.0000000             0
## 2100             0             0     0.0000000     0.0000000             0
## 2454             0             0     0.0000000     0.0000000             0
## 2632             0             0     0.0000000     0.6931472             0
## 2094             0             0     0.0000000     0.0000000             0
##      D.nstopwrds.log D.ratio.nstopwrds.nwrds D.P.mini D.P.air .clusterid
## 2623       2.1972246               0.4736842        1       0          4
## 2352       0.0000000               1.0000000        0       0          1
## 2100       0.0000000               1.0000000        0       0          1
## 2454       0.0000000               1.0000000        0       0          1
## 2632       0.6931472               0.1666667        0       0          2
## 2094       0.0000000               1.0000000        0       0          1
##      .clusterid.fctr startprice.predict.All.X.glmnet
## 2623               4                        147.8207
## 2352               1                        464.9190
## 2100               1                        456.8585
## 2454               1                        432.6484
## 2632               2                        278.9357
## 2094               1                        415.4564
##      startprice.predict.All.X.glmnet.err
## 2623                            852.1693
## 2352                            463.9290
## 2100                            455.8585
## 2454                            431.6584
## 2632                            421.0643
## 2094                            406.4564
predct_accurate_var_name <- paste0(glb_rsp_var_out, glb_sel_mdl_id, ".accurate")
predct_error_var_name <- paste0(glb_rsp_var_out, glb_sel_mdl_id, ".err")
glb_OOBobs_df[, predct_accurate_var_name] <-
                    (glb_OOBobs_df[, glb_rsp_var] == 
                     glb_OOBobs_df[, paste0(glb_rsp_var_out, glb_sel_mdl_id)])

glb_featsimp_df <- 
    myget_feats_importance(mdl=glb_sel_mdl, featsimp_df=NULL)
glb_featsimp_df[, paste0(glb_sel_mdl_id, ".importance")] <- glb_featsimp_df$importance
print(glb_featsimp_df)
##                                             importance
## prdline.my.fctriPadAir                      100.000000
## condition.fctrNew                            89.605213
## D.npnct09.log                                83.307569
## prdline.my.fctriPadmini 2+                   78.075306
## condition.fctrNew other (see details)        77.486529
## color.fctrGold                               75.718418
## D.npnct10.log                                69.483934
## carrier.fctrUnknown                          68.783075
## D.terms.n.stem.stop.Ratio                    68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2  67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2      67.410570
## D.TfIdf.sum.stem.stop.Ratio                  67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5     67.003081
## prdline.my.fctriPad 3+                       66.678300
## D.npnct03.log                                65.767488
## condition.fctrManufacturer refurbished       65.196081
## cellular.fctr1                               63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2      63.037048
## D.npnct01.log                                62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4       62.057198
## color.fctrWhite                              60.273720
## color.fctrSpace Gray                         60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4      58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2     58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3      57.859425
## idseq.my                                     57.847819
## prdline.my.fctriPadmini                      57.838522
## D.ratio.nstopwrds.nwrds                      57.838522
## carrier.fctrAT&T                             57.838522
## carrier.fctrOther                            57.838522
## carrier.fctrT-Mobile                         57.838522
## .rnorm                                       57.838522
## D.ndgts.log                                  57.838522
## D.npnct12.log                                57.838522
## D.npnct16.log                                57.838522
## D.npnct06.log                                57.838522
## D.terms.n.post.stem                          57.838522
## D.terms.n.post.stop                          57.838522
## D.nstopwrds.log                              57.838522
## D.nwrds.unq.log                              57.838522
## D.terms.n.post.stem.log                      57.838522
## D.terms.n.post.stop.log                      57.838522
## D.nwrds.log                                  57.838522
## D.nchrs.log                                  57.838522
## D.nuppr.log                                  57.838522
## D.npnct24.log                                57.838522
## D.TfIdf.sum.post.stem                        57.838522
## D.sum.TfIdf                                  57.838522
## D.TfIdf.sum.post.stop                        57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3       57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3       57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3     57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4      57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4      57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4     57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4  57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5      57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5       57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5       57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5      57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5      57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5  57.838522
## carrier.fctrVerizon                          57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3  57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3      57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2       56.864345
## D.npnct13.log                                56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3      55.718052
## D.npnct14.log                                55.458341
## D.npnct08.log                                55.292038
## color.fctrBlack                              55.207252
## D.npnct11.log                                55.159939
## D.npnct15.log                                54.694738
## condition.fctrSeller refurbished             54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2       54.212030
## D.npnct05.log                                53.685990
## D.ratio.sum.TfIdf.nwrds                      53.529001
## carrier.fctrSprint                           51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4       49.726710
## prdline.my.fctriPad 2                        49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2      46.524843
## D.npnct28.log                                46.354146
## cellular.fctrUnknown                         40.187677
## prdline.my.fctriPad 1                        30.878770
## condition.fctrFor parts or not working       26.631947
## storage.fctr64                               23.983863
## biddable                                     16.709485
## storage.fctr32                                8.679021
## storage.fctrUnknown                           4.194256
## storage.fctr16                                0.000000
##                                             All.X.glmnet.importance
## prdline.my.fctriPadAir                                   100.000000
## condition.fctrNew                                         89.605213
## D.npnct09.log                                             83.307569
## prdline.my.fctriPadmini 2+                                78.075306
## condition.fctrNew other (see details)                     77.486529
## color.fctrGold                                            75.718418
## D.npnct10.log                                             69.483934
## carrier.fctrUnknown                                       68.783075
## D.terms.n.stem.stop.Ratio                                 68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2               67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2                   67.410570
## D.TfIdf.sum.stem.stop.Ratio                               67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5                  67.003081
## prdline.my.fctriPad 3+                                    66.678300
## D.npnct03.log                                             65.767488
## condition.fctrManufacturer refurbished                    65.196081
## cellular.fctr1                                            63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2                   63.037048
## D.npnct01.log                                             62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4                    62.057198
## color.fctrWhite                                           60.273720
## color.fctrSpace Gray                                      60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4                   58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2                  58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3                   57.859425
## idseq.my                                                  57.847819
## prdline.my.fctriPadmini                                   57.838522
## D.ratio.nstopwrds.nwrds                                   57.838522
## carrier.fctrAT&T                                          57.838522
## carrier.fctrOther                                         57.838522
## carrier.fctrT-Mobile                                      57.838522
## .rnorm                                                    57.838522
## D.ndgts.log                                               57.838522
## D.npnct12.log                                             57.838522
## D.npnct16.log                                             57.838522
## D.npnct06.log                                             57.838522
## D.terms.n.post.stem                                       57.838522
## D.terms.n.post.stop                                       57.838522
## D.nstopwrds.log                                           57.838522
## D.nwrds.unq.log                                           57.838522
## D.terms.n.post.stem.log                                   57.838522
## D.terms.n.post.stop.log                                   57.838522
## D.nwrds.log                                               57.838522
## D.nchrs.log                                               57.838522
## D.nuppr.log                                               57.838522
## D.npnct24.log                                             57.838522
## D.TfIdf.sum.post.stem                                     57.838522
## D.sum.TfIdf                                               57.838522
## D.TfIdf.sum.post.stop                                     57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3                    57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3                  57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4                   57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4                  57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4               57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5                   57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5               57.838522
## carrier.fctrVerizon                                       57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3               57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3                   57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2                    56.864345
## D.npnct13.log                                             56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3                   55.718052
## D.npnct14.log                                             55.458341
## D.npnct08.log                                             55.292038
## color.fctrBlack                                           55.207252
## D.npnct11.log                                             55.159939
## D.npnct15.log                                             54.694738
## condition.fctrSeller refurbished                          54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2                    54.212030
## D.npnct05.log                                             53.685990
## D.ratio.sum.TfIdf.nwrds                                   53.529001
## carrier.fctrSprint                                        51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4                    49.726710
## prdline.my.fctriPad 2                                     49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2                   46.524843
## D.npnct28.log                                             46.354146
## cellular.fctrUnknown                                      40.187677
## prdline.my.fctriPad 1                                     30.878770
## condition.fctrFor parts or not working                    26.631947
## storage.fctr64                                            23.983863
## biddable                                                  16.709485
## storage.fctr32                                             8.679021
## storage.fctrUnknown                                        4.194256
## storage.fctr16                                             0.000000
# Used again in fit.data.training & predict.data.new chunks
glb_analytics_diag_plots <- function(obs_df, mdl_id, prob_threshold=NULL) {
    featsimp_df <- glb_featsimp_df
    featsimp_df$feat <- gsub("`(.*?)`", "\\1", row.names(featsimp_df))    
    featsimp_df$feat.interact <- gsub("(.*?):(.*)", "\\2", featsimp_df$feat)
    featsimp_df$feat <- gsub("(.*?):(.*)", "\\1", featsimp_df$feat)    
    featsimp_df$feat.interact <- ifelse(featsimp_df$feat.interact == featsimp_df$feat, 
                                        NA, featsimp_df$feat.interact)
    featsimp_df$feat <- gsub("(.*?)\\.fctr(.*)", "\\1\\.fctr", featsimp_df$feat)
    featsimp_df$feat.interact <- gsub("(.*?)\\.fctr(.*)", "\\1\\.fctr", featsimp_df$feat.interact) 
    featsimp_df <- orderBy(~ -importance.max, summaryBy(importance ~ feat + feat.interact, 
                                                        data=featsimp_df, FUN=max))    
    #rex_str=":(.*)"; txt_vctr=tail(featsimp_df$feat); ret_lst <- regexec(rex_str, txt_vctr); ret_lst <- regmatches(txt_vctr, ret_lst); ret_vctr <- sapply(1:length(ret_lst), function(pos_ix) ifelse(length(ret_lst[[pos_ix]]) > 0, ret_lst[[pos_ix]], "")); print(ret_vctr <- ret_vctr[ret_vctr != ""])    
    if (nrow(featsimp_df) > 5) {
        warning("Limiting important feature scatter plots to 5 out of ", nrow(featsimp_df))
        featsimp_df <- head(featsimp_df, 5)
    }
    
#     if (!all(is.na(featsimp_df$feat.interact)))
#         stop("not implemented yet")
    rsp_var_out <- paste0(glb_rsp_var_out, mdl_id)
    for (var in featsimp_df$feat) {
        plot_df <- melt(obs_df, id.vars=var, 
                        measure.vars=c(glb_rsp_var, rsp_var_out))

#         if (var == "<feat_name>") print(myplot_scatter(plot_df, var, "value", 
#                                              facet_colcol_name="variable") + 
#                       geom_vline(xintercept=<divider_val>, linetype="dotted")) else     
            print(myplot_scatter(plot_df, var, "value", colorcol_name="variable",
                                 facet_colcol_name="variable", jitter=TRUE) + 
                      guides(color=FALSE))
    }
    
    if (glb_is_regression) {
        if (nrow(featsimp_df) == 0)
            warning("No important features in glb_fin_mdl") else
            print(myplot_prediction_regression(df=obs_df, 
                        feat_x=ifelse(nrow(featsimp_df) > 1, featsimp_df$feat[2],
                                      ".rownames"), 
                                               feat_y=featsimp_df$feat[1],
                        rsp_var=glb_rsp_var, rsp_var_out=rsp_var_out,
                        id_vars=glb_id_var)
    #               + facet_wrap(reformulate(featsimp_df$feat[2])) # if [1 or 2] is a factor
    #               + geom_point(aes_string(color="<col_name>.fctr")) #  to color the plot
                  )
    }    
    
    if (glb_is_classification) {
        if (nrow(featsimp_df) == 0)
            warning("No features in selected model are statistically important")
        else print(myplot_prediction_classification(df=obs_df, 
                feat_x=ifelse(nrow(featsimp_df) > 1, featsimp_df$feat[2], 
                              ".rownames"),
                                               feat_y=featsimp_df$feat[1],
                     rsp_var=glb_rsp_var, 
                     rsp_var_out=rsp_var_out, 
                     id_vars=glb_id_var,
                    prob_threshold=prob_threshold)
#               + geom_hline(yintercept=<divider_val>, linetype = "dotted")
                )
    }    
}

if (glb_is_classification && glb_is_binomial)
    glb_analytics_diag_plots(obs_df=glb_OOBobs_df, mdl_id=glb_sel_mdl_id, 
            prob_threshold=glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, 
                                         "opt.prob.threshold.OOB"]) else
    glb_analytics_diag_plots(obs_df=glb_OOBobs_df, mdl_id=glb_sel_mdl_id)                  
## Warning in glb_analytics_diag_plots(obs_df = glb_OOBobs_df, mdl_id =
## glb_sel_mdl_id): Limiting important feature scatter plots to 5 out of 42

##      UniqueID
## 2623    12625
## 2352    12354
## 2100    12102
## 2454    12456
## 2632    12634
##                                                                                                description
## 2623 Lot of 10 mixed iPad minis. Colors,models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                      
## 2100                                                                                                      
## 2454                                                                                                      
## 2632                                            Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
##      biddable startprice                condition cellular  carrier
## 2623        0     999.99 For parts or not working  Unknown  Unknown
## 2352        1       0.99                     Used        0     None
## 2100        1       1.00                      New        1     AT&T
## 2454        1       0.99                      New        1 T-Mobile
## 2632        0     700.00                     Used        1  Verizon
##           color storage productline sold .src .grpid     .rnorm idseq.my
## 2623      White Unknown     Unknown   NA Test   <NA> -0.9259777     2625
## 2352       Gold     128  iPad Air 2   NA Test   <NA>  0.1545570     2354
## 2100 Space Gray     128 iPad mini 2   NA Test   <NA>  2.2673657     2102
## 2454      White      64  iPad Air 2   NA Test   <NA>  0.4458716     2456
## 2632    Unknown      32      iPad 2   NA Test   <NA>  0.8127608     2634
##       prdline.my startprice.log
## 2623    iPadmini     6.90774528
## 2352     iPadAir    -0.01005034
## 2100 iPadmini 2+     0.00000000
## 2454     iPadAir    -0.01005034
## 2632      iPad 2     6.55108034
##                                                                                                    descr.my
## 2623 Lot of 10 mixed iPad minis. Colors, models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                       
## 2100                                                                                                       
## 2454                                                                                                       
## 2632                                             Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
##                condition.fctr cellular.fctr carrier.fctr color.fctr
## 2623 For parts or not working       Unknown      Unknown      White
## 2352                     Used             0         None       Gold
## 2100                      New             1         AT&T Space Gray
## 2454                      New             1     T-Mobile      White
## 2632                     Used             1      Verizon    Unknown
##      storage.fctr prdline.my.fctr D.terms.n.post.stop
## 2623      Unknown        iPadmini                   8
## 2352          128         iPadAir                   0
## 2100          128     iPadmini 2+                   0
## 2454           64         iPadAir                   0
## 2632           32          iPad 2                   8
##      D.terms.n.post.stop.log D.TfIdf.sum.post.stop D.terms.n.post.stem
## 2623                2.197225              9.127623                   8
## 2352                0.000000              0.000000                   0
## 2100                0.000000              0.000000                   0
## 2454                0.000000              0.000000                   0
## 2632                2.197225              7.047501                   8
##      D.terms.n.post.stem.log D.TfIdf.sum.post.stem
## 2623                2.197225              8.069403
## 2352                0.000000              0.000000
## 2100                0.000000              0.000000
## 2454                0.000000              0.000000
## 2632                2.197225              6.969581
##      D.terms.n.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio D.T.condit
## 2623                         1                   0.8840640  0.0000000
## 2352                         1                   1.0000000  0.0000000
## 2100                         1                   1.0000000  0.0000000
## 2454                         1                   1.0000000  0.0000000
## 2632                         1                   0.9889437  0.3026733
##      D.T.use D.T.scratch D.T.new  D.T.good  D.T.ipad D.T.screen D.T.great
## 2623       0           0       0 0.0000000 0.3908446          0         0
## 2352       0           0       0 0.0000000 0.0000000          0         0
## 2100       0           0       0 0.0000000 0.0000000          0         0
## 2454       0           0       0 0.0000000 0.0000000          0         0
## 2632       0           0       0 0.4691913 0.4397002          0         0
##      D.T.work D.T.excel D.nwrds.log D.nwrds.unq.log D.sum.TfIdf
## 2623        0         0    2.944439        2.197225    8.069403
## 2352        0         0    0.000000        0.000000    0.000000
## 2100        0         0    0.000000        0.000000    0.000000
## 2454        0         0    0.000000        0.000000    0.000000
## 2632        0         0    2.484907        2.197225    6.969581
##      D.ratio.sum.TfIdf.nwrds D.nchrs.log D.nuppr.log D.ndgts.log
## 2623               0.4483002    4.634729    4.356709    1.098612
## 2352               0.0000000    0.000000    0.000000    0.000000
## 2100               0.0000000    0.000000    0.000000    0.000000
## 2454               0.0000000    0.000000    0.000000    0.000000
## 2632               0.6335983    4.077537    3.713572    1.609438
##      D.npnct01.log D.npnct03.log D.npnct05.log D.npnct06.log D.npnct08.log
## 2623             0             0             0     0.6931472             0
## 2352             0             0             0     0.0000000             0
## 2100             0             0             0     0.0000000             0
## 2454             0             0             0     0.0000000             0
## 2632             0             0             0     0.0000000             0
##      D.npnct09.log D.npnct10.log D.npnct11.log D.npnct12.log D.npnct13.log
## 2623             0     0.0000000     0.6931472             0      1.098612
## 2352             0     0.0000000     0.0000000             0      0.000000
## 2100             0     0.0000000     0.0000000             0      0.000000
## 2454             0     0.0000000     0.0000000             0      0.000000
## 2632             0     0.6931472     0.0000000             0      1.098612
##      D.npnct14.log D.npnct15.log D.npnct16.log D.npnct24.log D.npnct28.log
## 2623             0             0     0.6931472     0.6931472             0
## 2352             0             0     0.0000000     0.0000000             0
## 2100             0             0     0.0000000     0.0000000             0
## 2454             0             0     0.0000000     0.0000000             0
## 2632             0             0     0.0000000     0.6931472             0
##      D.nstopwrds.log D.ratio.nstopwrds.nwrds D.P.mini D.P.air .clusterid
## 2623       2.1972246               0.4736842        1       0          4
## 2352       0.0000000               1.0000000        0       0          1
## 2100       0.0000000               1.0000000        0       0          1
## 2454       0.0000000               1.0000000        0       0          1
## 2632       0.6931472               0.1666667        0       0          2
##      .clusterid.fctr startprice.predict.All.X.glmnet
## 2623               4                        147.8207
## 2352               1                        464.9190
## 2100               1                        456.8585
## 2454               1                        432.6484
## 2632               2                        278.9357
##      startprice.predict.All.X.glmnet.err
## 2623                            852.1693
## 2352                            463.9290
## 2100                            455.8585
## 2454                            431.6584
## 2632                            421.0643
##      startprice.predict.All.X.glmnet.accurate .label
## 2623                                    FALSE  12625
## 2352                                    FALSE  12354
## 2100                                    FALSE  12102
## 2454                                    FALSE  12456
## 2632                                    FALSE  12634

# gather predictions from models better than MFO.*
#mdl_id <- "Conditional.X.rf"
#mdl_id <- "Conditional.X.cp.0.rpart"
#mdl_id <- "Conditional.X.rpart"
# glb_OOBobs_df <- glb_get_predictions(df=glb_OOBobs_df, mdl_id,
#                                      glb_rsp_var_out)
# print(t(confusionMatrix(glb_OOBobs_df[, paste0(glb_rsp_var_out, mdl_id)], 
#                         glb_OOBobs_df[, glb_rsp_var])$table))
# FN_OOB_ids <- c(4721, 4020, 693, 92)
# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                     grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                     glb_feats_df$id[1:5]])
# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                     glb_txt_vars])

write.csv(glb_OOBobs_df[, c(glb_id_var, 
                grep(glb_rsp_var, names(glb_OOBobs_df), fixed=TRUE, value=TRUE))], 
    paste0(gsub(".", "_", paste0(glb_out_pfx, glb_sel_mdl_id), fixed=TRUE), 
           "_OOBobs.csv"), row.names=FALSE)

# print(glb_allobs_df[glb_allobs_df$UniqueID %in% FN_OOB_ids, 
#                     glb_txt_vars])
# dsp_tbl(Headline.contains="[Ee]bola")
# sum(sel_obs(Headline.contains="[Ee]bola"))
# ftable(xtabs(Popular ~ NewsDesk.fctr, data=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,]))
# xtabs(NewsDesk ~ Popular, #Popular ~ NewsDesk.fctr, 
#       data=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,],
#       exclude=NULL)
# print(mycreate_xtab_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], c("Popular", "NewsDesk", "SectionName", "SubsectionName")))
# print(mycreate_tbl_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], c("Popular", "NewsDesk", "SectionName", "SubsectionName")))
# print(mycreate_tbl_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], c("Popular")))
# print(mycreate_tbl_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], 
#                       tbl_col_names=c("Popular", "NewsDesk")))

# write.csv(glb_chunks_df, paste0(glb_out_pfx, tail(glb_chunks_df, 1)$label, "_",
#                                 tail(glb_chunks_df, 1)$step_minor,  "_chunks1.csv"),
#           row.names=FALSE)

glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=FALSE)
##         label step_major step_minor     bgn     end elapsed
## 12 fit.models          7          2 391.695 414.739  23.044
## 13 fit.models          7          3 414.740      NA      NA
    if (sum(is.na(glb_allobs_df$D.P.http)) > 0)
        stop("fit.models_3: Why is this happening ?")
## Warning in is.na(glb_allobs_df$D.P.http): is.na() applied to non-(list or
## vector) of type 'NULL'
#stop(here"); sav_allobs_df <- glb_allobs_df; glb_allobs_df <- sav_allobs_df
print(setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
## character(0)
print(setdiff(names(glb_fitobs_df), names(glb_allobs_df)))
## character(0)
print(setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
## [1] "startprice.predict.All.X.glmnet"         
## [2] "startprice.predict.All.X.glmnet.err"     
## [3] "startprice.predict.All.X.glmnet.accurate"
for (col in setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
    # Merge or cbind ?
    glb_allobs_df[glb_allobs_df$.lcn == "OOB", col] <- glb_OOBobs_df[, col]
    
print(setdiff(names(glb_newobs_df), names(glb_allobs_df)))
## character(0)
if (glb_save_envir)
    save(glb_feats_df, 
         glb_allobs_df, #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
         glb_models_df, dsp_models_df, glb_models_lst, glb_sel_mdl, glb_sel_mdl_id,
         glb_model_type,
        file=paste0(glb_out_pfx, "selmdl_dsk.RData"))
#load(paste0(glb_out_pfx, "selmdl_dsk.RData"))

rm(ret_lst)
## Warning in rm(ret_lst): object 'ret_lst' not found
replay.petrisim(pn=glb_analytics_pn, 
    replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs, 
        "model.selected")), flip_coord=TRUE)
## time trans    "bgn " "fit.data.training.all " "predict.data.new " "end " 
## 0.0000   multiple enabled transitions:  data.training.all data.new model.selected    firing:  data.training.all 
## 1.0000    1   2 1 0 0 
## 1.0000   multiple enabled transitions:  data.training.all data.new model.selected model.final data.training.all.prediction   firing:  data.new 
## 2.0000    2   1 1 1 0 
## 2.0000   multiple enabled transitions:  data.training.all data.new model.selected model.final data.training.all.prediction data.new.prediction   firing:  model.selected 
## 3.0000    3   0 2 1 0

glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.data.training", major.inc=TRUE)
##                label step_major step_minor     bgn     end elapsed
## 13        fit.models          7          3 414.740 420.743   6.003
## 14 fit.data.training          8          0 420.743      NA      NA

Step 8.0: fit data training

#load(paste0(glb_inp_pfx, "dsk.RData"))

    if (sum(is.na(glb_allobs_df$D.P.http)) > 0)
        stop("fit.data.training_0: Why is this happening ?")
## Warning in is.na(glb_allobs_df$D.P.http): is.na() applied to non-(list or
## vector) of type 'NULL'
# To create specific models
# glb_fin_mdl_id <- NULL; glb_fin_mdl <- NULL; 
# glb_sel_mdl_id <- "Conditional.X.cp.0.rpart"; 
# glb_sel_mdl <- glb_models_lst[[glb_sel_mdl_id]]; print(glb_sel_mdl)
    
if (!is.null(glb_fin_mdl_id) && (glb_fin_mdl_id %in% names(glb_models_lst))) {
    warning("Final model same as user selected model")
    glb_fin_mdl <- glb_sel_mdl
} else {    
#     print(mdl_feats_df <- myextract_mdl_feats(sel_mdl=glb_sel_mdl, 
#                                               entity_df=glb_fitobs_df))
    
    if ((model_method <- glb_sel_mdl$method) == "custom")
        # get actual method from the model_id
        model_method <- tail(unlist(strsplit(glb_sel_mdl_id, "[.]")), 1)
        
    tune_finmdl_df <- NULL
    if (nrow(glb_sel_mdl$bestTune) > 0) {
        for (param in names(glb_sel_mdl$bestTune)) {
            #print(sprintf("param: %s", param))
            if (glb_sel_mdl$bestTune[1, param] != "none")
                tune_finmdl_df <- rbind(tune_finmdl_df, 
                    data.frame(parameter=param, 
                               min=glb_sel_mdl$bestTune[1, param], 
                               max=glb_sel_mdl$bestTune[1, param], 
                               by=1)) # by val does not matter
        }
    } 
    
    # Sync with parameters in mydsutils.R
    require(gdata)
    ret_lst <- myfit_mdl(model_id="Final", model_method=model_method,
        indep_vars_vctr=trim(unlist(strsplit(glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
                                                    "feats"], "[,]"))), 
                         model_type=glb_model_type,
                            rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out, 
                            fit_df=glb_trnobs_df, OOB_df=NULL,
                            n_cv_folds=glb_n_cv_folds, tune_models_df=tune_finmdl_df,
                         # Automate from here
                         #  Issues if glb_sel_mdl$method == "rf" b/c trainControl is "oob"; not "cv"
                            model_loss_mtrx=glb_model_metric_terms,
                            model_summaryFunction=glb_sel_mdl$control$summaryFunction,
                            model_metric=glb_sel_mdl$metric,
                            model_metric_maximize=glb_sel_mdl$maximize)
    glb_fin_mdl <- glb_models_lst[[length(glb_models_lst)]] 
    glb_fin_mdl_id <- glb_models_df[length(glb_models_lst), "model_id"]
}
## [1] "fitting model: Final.glmnet"
## [1] "    indep_vars: prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr"
## Aggregating results
## Fitting final model on full training set

##             Length Class      Mode     
## a0            94   -none-     numeric  
## beta        8460   dgCMatrix  S4       
## df            94   -none-     numeric  
## dim            2   -none-     numeric  
## lambda        94   -none-     numeric  
## dev.ratio     94   -none-     numeric  
## nulldev        1   -none-     numeric  
## npasses        1   -none-     numeric  
## jerr           1   -none-     numeric  
## offset         1   -none-     logical  
## call           5   -none-     call     
## nobs           1   -none-     numeric  
## lambdaOpt      1   -none-     numeric  
## xNames        90   -none-     character
## problemType    1   -none-     character
## tuneValue      2   data.frame list     
## obsLevels      1   -none-     logical  
## [1] "min lambda > lambdaOpt:"
##                                 (Intercept) 
##                                294.78257637 
##                       prdline.my.fctriPad 1 
##                                -76.71045424 
##                       prdline.my.fctriPad 2 
##                                -23.64322090 
##                      prdline.my.fctriPad 3+ 
##                                 24.95136901 
##                      prdline.my.fctriPadAir 
##                                119.79418098 
##                  prdline.my.fctriPadmini 2+ 
##                                 57.44456493 
##      condition.fctrFor parts or not working 
##                                -88.58209077 
##      condition.fctrManufacturer refurbished 
##                                 20.69027409 
##                           condition.fctrNew 
##                                 90.44265248 
##       condition.fctrNew other (see details) 
##                                 55.84012240 
##            condition.fctrSeller refurbished 
##                                 -9.35222586 
##                             color.fctrBlack 
##                                 -7.46170465 
##                              color.fctrGold 
##                                 50.76406013 
##                        color.fctrSpace Gray 
##                                  6.39766654 
##                             color.fctrWhite 
##                                  6.80464281 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                 25.43746154 
##                                    idseq.my 
##                                  0.02633208 
##                          carrier.fctrSprint 
##                                -16.90344697 
##                         carrier.fctrUnknown 
##                                 30.88068200 
##                               D.npnct09.log 
##                                 71.33981931 
##                               D.npnct10.log 
##                                 32.00751631 
##                   D.terms.n.stem.stop.Ratio 
##                                 27.42161833 
##                               D.npnct28.log 
##                                -31.23070785 
##                              cellular.fctr1 
##                                 14.88145023 
##                        cellular.fctrUnknown 
##                                -49.84674880 
##                               D.npnct14.log 
##                                 -6.44241930 
##                               D.npnct05.log 
##                                -11.72906659 
##                               D.npnct08.log 
##                                 -6.83561783 
##                               D.npnct01.log 
##                                 13.77599628 
##                               D.npnct15.log 
##                                 -8.60514295 
##                               D.npnct11.log 
##                                 -7.59188211 
##                               D.npnct03.log 
##                                 21.92795604 
##                              storage.fctr16 
##                               -162.98155887 
##                              storage.fctr32 
##                               -138.23288130 
##                              storage.fctr64 
##                                -94.74980540 
##                         storage.fctrUnknown 
##                               -151.03929961 
##                               D.npnct13.log 
##                                 -2.99822888 
##                     D.ratio.sum.TfIdf.nwrds 
##                                -12.14704821 
##                                    biddable 
##                               -116.86488285 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                 26.62965681 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                                -10.22155294 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                                 -2.72772819 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                 14.53079907 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                                -31.90398968 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                  0.88956465 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                 27.16155447 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                                 -5.97461085 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                                 -1.17994114 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                                 -0.66788627 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                 11.38256051 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                                -22.79555224 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                  2.82723340 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                 25.38093863 
## [1] "max lambda < lambdaOpt:"
##                                 (Intercept) 
##                                1.998775e+02 
##                       prdline.my.fctriPad 1 
##                               -7.644313e+01 
##                       prdline.my.fctriPad 2 
##                               -1.999249e+01 
##                      prdline.my.fctriPad 3+ 
##                                2.914958e+01 
##                      prdline.my.fctriPadAir 
##                                1.234229e+02 
##                     prdline.my.fctriPadmini 
##                                3.465888e+00 
##                  prdline.my.fctriPadmini 2+ 
##                                6.086067e+01 
##      condition.fctrFor parts or not working 
##                               -9.227346e+01 
##      condition.fctrManufacturer refurbished 
##                                2.554944e+01 
##                           condition.fctrNew 
##                                8.687130e+01 
##       condition.fctrNew other (see details) 
##                                5.599857e+01 
##            condition.fctrSeller refurbished 
##                               -1.402468e+01 
##                             color.fctrBlack 
##                               -7.412825e+00 
##                              color.fctrGold 
##                                5.278243e+01 
##                        color.fctrSpace Gray 
##                                1.063730e+01 
##                             color.fctrWhite 
##                                9.549012e+00 
##                 D.TfIdf.sum.stem.stop.Ratio 
##                                6.591341e+01 
##                     D.ratio.nstopwrds.nwrds 
##                                2.869129e+01 
##                                    idseq.my 
##                                2.824860e-02 
##                           carrier.fctrOther 
##                               -9.326523e+00 
##                          carrier.fctrSprint 
##                               -3.086106e+01 
##                        carrier.fctrT-Mobile 
##                               -4.973113e+00 
##                         carrier.fctrUnknown 
##                                3.307679e+01 
##                         carrier.fctrVerizon 
##                               -4.757925e+00 
##                               D.npnct09.log 
##                                9.151029e+01 
##                               D.npnct10.log 
##                                5.383163e+01 
##                   D.terms.n.stem.stop.Ratio 
##                                8.575788e+01 
##                               D.npnct28.log 
##                               -6.770364e+01 
##                              cellular.fctr1 
##                                1.701378e+01 
##                        cellular.fctrUnknown 
##                               -5.221195e+01 
##                               D.npnct14.log 
##                               -1.732644e+01 
##                                      .rnorm 
##                               -2.606380e-01 
##                               D.npnct05.log 
##                               -1.292165e+01 
##                               D.npnct08.log 
##                               -1.823787e+01 
##                               D.npnct01.log 
##                                1.689144e+01 
##                                 D.ndgts.log 
##                               -1.668628e+00 
##                               D.npnct12.log 
##                                2.053090e+00 
##                               D.npnct16.log 
##                                1.070520e+01 
##                               D.npnct06.log 
##                               -1.535096e+01 
##                               D.npnct15.log 
##                               -2.019071e+01 
##                               D.npnct11.log 
##                               -1.121243e+01 
##                               D.npnct03.log 
##                                3.598661e+01 
##                              storage.fctr16 
##                               -2.008292e+02 
##                              storage.fctr32 
##                               -1.783456e+02 
##                              storage.fctr64 
##                               -1.335379e+02 
##                         storage.fctrUnknown 
##                               -1.901398e+02 
##                               D.npnct13.log 
##                               -7.450029e+00 
##                         D.terms.n.post.stop 
##                               -1.798417e+00 
##                     D.ratio.sum.TfIdf.nwrds 
##                               -1.186745e+01 
##                             D.nstopwrds.log 
##                               -2.528831e+01 
##                             D.nwrds.unq.log 
##                               -2.345913e+00 
##                     D.terms.n.post.stem.log 
##                               -1.005925e-02 
##                     D.terms.n.post.stop.log 
##                               -1.337724e-03 
##                                 D.nwrds.log 
##                                4.736143e+01 
##                                 D.nchrs.log 
##                                3.200722e+00 
##                                 D.nuppr.log 
##                               -7.287495e+00 
##                               D.npnct24.log 
##                               -5.018553e+01 
##                       D.TfIdf.sum.post.stop 
##                                1.644332e+00 
##                                    biddable 
##                               -1.180910e+02 
##     prdline.my.fctrUnknown:.clusterid.fctr2 
##                                4.104686e+01 
##      prdline.my.fctriPad 1:.clusterid.fctr2 
##                               -8.957112e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr2 
##                               -1.877347e+00 
##     prdline.my.fctriPad 3+:.clusterid.fctr2 
##                                2.133655e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr2 
##                               -3.824864e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr2 
##                                1.142155e+01 
## prdline.my.fctriPadmini 2+:.clusterid.fctr2 
##                                3.398284e+01 
##     prdline.my.fctrUnknown:.clusterid.fctr3 
##                               -4.613406e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr3 
##                                1.277467e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr3 
##                                1.452679e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr3 
##                                8.868811e+00 
##     prdline.my.fctriPadAir:.clusterid.fctr3 
##                               -1.113572e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr3 
##                               -2.720336e+00 
## prdline.my.fctriPadmini 2+:.clusterid.fctr3 
##                               -7.412104e+00 
##      prdline.my.fctriPad 1:.clusterid.fctr4 
##                                2.954268e+01 
##      prdline.my.fctriPad 2:.clusterid.fctr4 
##                               -2.510686e+01 
##     prdline.my.fctriPad 3+:.clusterid.fctr4 
##                                1.131957e+01 
##     prdline.my.fctriPadAir:.clusterid.fctr4 
##                               -1.209120e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr4 
##                               -5.445225e+00 
##      prdline.my.fctriPad 2:.clusterid.fctr5 
##                                1.254241e+01 
##    prdline.my.fctriPadmini:.clusterid.fctr5 
##                                4.135022e+01 
## character(0)
## character(0)
## [1] "    calling mypredict_mdl for fit:"
##       model_id model_method
## 1 Final.glmnet       glmnet
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         feats
## 1 prdline.my.fctr, condition.fctr, color.fctr, D.TfIdf.sum.stem.stop.Ratio, D.ratio.nstopwrds.nwrds, idseq.my, carrier.fctr, D.npnct09.log, D.npnct10.log, D.terms.n.stem.stop.Ratio, D.npnct28.log, cellular.fctr, D.npnct14.log, .rnorm, D.npnct05.log, D.npnct08.log, D.npnct01.log, D.ndgts.log, D.npnct12.log, D.npnct16.log, D.npnct06.log, D.npnct15.log, D.npnct11.log, D.npnct03.log, storage.fctr, D.npnct13.log, D.terms.n.post.stem, D.terms.n.post.stop, D.ratio.sum.TfIdf.nwrds, D.nstopwrds.log, D.nwrds.unq.log, D.terms.n.post.stem.log, D.terms.n.post.stop.log, D.nwrds.log, D.nchrs.log, D.nuppr.log, D.npnct24.log, D.TfIdf.sum.post.stem, D.sum.TfIdf, D.TfIdf.sum.post.stop, biddable, prdline.my.fctr:.clusterid.fctr
##   max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1               1                       1.24                 0.042
##   max.R.sq.fit min.RMSE.fit max.Rsquared.fit min.RMSESD.fit
## 1    0.6647981     101.8988        0.6414783       5.733788
##   max.RsquaredSD.fit
## 1         0.04264401
rm(ret_lst)
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.data.training", major.inc=FALSE)
##                label step_major step_minor     bgn     end elapsed
## 14 fit.data.training          8          0 420.743 423.553   2.811
## 15 fit.data.training          8          1 423.554      NA      NA
#```

#```{r fit.data.training_1, cache=FALSE}
glb_trnobs_df <- glb_get_predictions(df=glb_trnobs_df, mdl_id=glb_fin_mdl_id, 
                                     rsp_var_out=glb_rsp_var_out,
    prob_threshold_def=ifelse(glb_is_classification && glb_is_binomial, 
        glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, "opt.prob.threshold.OOB"], NULL))
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.

##      UniqueID                   description biddable startprice
## 1396    11397                                      0     999.00
## 1418    11419                                      1     700.00
## 1764    11765                                      1     500.00
## 1234    11235                                      1       0.99
## 1019    11019                                      0     720.12
## 1115    11115 New, sealed, box not included        1       0.99
##                     condition cellular carrier   color storage productline
## 1396                     Used        0    None Unknown      32   iPad mini
## 1418                     Used  Unknown Unknown Unknown Unknown     Unknown
## 1764 For parts or not working  Unknown Unknown Unknown Unknown     Unknown
## 1234  New other (see details)        1 Unknown    Gold      64  iPad Air 2
## 1019                     Used        1    AT&T Unknown      64   iPad mini
## 1115  New other (see details)        0    None Unknown     128  iPad Air 2
##      sold  .src .grpid     .rnorm idseq.my prdline.my startprice.log
## 1396    0 Train   <NA> -0.1429904     1397   iPadmini     6.90675478
## 1418    0 Train   <NA>  0.7258252     1419    Unknown     6.55108034
## 1764    0 Train   <NA>  0.1484839     1765    Unknown     6.21460810
## 1234    1 Train   <NA> -1.5901469     1235    iPadAir    -0.01005034
## 1019    0 Train   <NA>  0.7141838     1019   iPadmini     6.57941786
## 1115    1 Train   <NA>  1.5179876     1115    iPadAir    -0.01005034
##                           descr.my           condition.fctr cellular.fctr
## 1396                                                   Used             0
## 1418                                                   Used       Unknown
## 1764                               For parts or not working       Unknown
## 1234                                New other (see details)             1
## 1019                                                   Used             1
## 1115 New, sealed, box not included  New other (see details)             0
##      carrier.fctr color.fctr storage.fctr prdline.my.fctr
## 1396         None    Unknown           32        iPadmini
## 1418      Unknown    Unknown      Unknown         Unknown
## 1764      Unknown    Unknown      Unknown         Unknown
## 1234      Unknown       Gold           64         iPadAir
## 1019         AT&T    Unknown           64        iPadmini
## 1115         None    Unknown          128         iPadAir
##      D.terms.n.post.stop D.terms.n.post.stop.log D.TfIdf.sum.post.stop
## 1396                   0                0.000000              0.000000
## 1418                   0                0.000000              0.000000
## 1764                   0                0.000000              0.000000
## 1234                   0                0.000000              0.000000
## 1019                   0                0.000000              0.000000
## 1115                   4                1.609438              5.867446
##      D.terms.n.post.stem D.terms.n.post.stem.log D.TfIdf.sum.post.stem
## 1396                   0                0.000000               0.00000
## 1418                   0                0.000000               0.00000
## 1764                   0                0.000000               0.00000
## 1234                   0                0.000000               0.00000
## 1019                   0                0.000000               0.00000
## 1115                   4                1.609438               5.43465
##      D.terms.n.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio D.T.condit
## 1396                         1                   1.0000000          0
## 1418                         1                   1.0000000          0
## 1764                         1                   1.0000000          0
## 1234                         1                   1.0000000          0
## 1019                         1                   1.0000000          0
## 1115                         1                   0.9262378          0
##      D.T.use D.T.scratch  D.T.new D.T.good D.T.ipad D.T.screen D.T.great
## 1396       0           0 0.000000        0        0          0         0
## 1418       0           0 0.000000        0        0          0         0
## 1764       0           0 0.000000        0        0          0         0
## 1234       0           0 0.000000        0        0          0         0
## 1019       0           0 0.000000        0        0          0         0
## 1115       0           0 1.022545        0        0          0         0
##      D.T.work D.T.excel D.nwrds.log D.nwrds.unq.log D.sum.TfIdf
## 1396        0         0    0.000000        0.000000     0.00000
## 1418        0         0    0.000000        0.000000     0.00000
## 1764        0         0    0.000000        0.000000     0.00000
## 1234        0         0    0.000000        0.000000     0.00000
## 1019        0         0    0.000000        0.000000     0.00000
## 1115        0         0    1.791759        1.609438     5.43465
##      D.ratio.sum.TfIdf.nwrds D.nchrs.log D.nuppr.log D.ndgts.log
## 1396                 0.00000    0.000000    0.000000           0
## 1418                 0.00000    0.000000    0.000000           0
## 1764                 0.00000    0.000000    0.000000           0
## 1234                 0.00000    0.000000    0.000000           0
## 1019                 0.00000    0.000000    0.000000           0
## 1115                 1.08693    3.401197    3.178054           0
##      D.npnct01.log D.npnct03.log D.npnct05.log D.npnct06.log D.npnct08.log
## 1396             0             0             0             0             0
## 1418             0             0             0             0             0
## 1764             0             0             0             0             0
## 1234             0             0             0             0             0
## 1019             0             0             0             0             0
## 1115             0             0             0             0             0
##      D.npnct09.log D.npnct10.log D.npnct11.log D.npnct12.log D.npnct13.log
## 1396             0             0      0.000000             0             0
## 1418             0             0      0.000000             0             0
## 1764             0             0      0.000000             0             0
## 1234             0             0      0.000000             0             0
## 1019             0             0      0.000000             0             0
## 1115             0             0      1.098612             0             0
##      D.npnct14.log D.npnct15.log D.npnct16.log D.npnct24.log D.npnct28.log
## 1396             0             0             0     0.0000000             0
## 1418             0             0             0     0.0000000             0
## 1764             0             0             0     0.0000000             0
## 1234             0             0             0     0.0000000             0
## 1019             0             0             0     0.0000000             0
## 1115             0             0             0     0.6931472             0
##      D.nstopwrds.log D.ratio.nstopwrds.nwrds D.P.mini D.P.air .clusterid
## 1396       0.0000000               1.0000000        0       0          1
## 1418       0.0000000               1.0000000        0       0          1
## 1764       0.0000000               1.0000000        0       0          1
## 1234       0.0000000               1.0000000        0       0          1
## 1019       0.0000000               1.0000000        0       0          1
## 1115       0.6931472               0.3333333        0       0          4
##      .clusterid.fctr startprice.predict.Final.glmnet
## 1396               1                       246.09809
## 1418               1                        97.93565
## 1764               1                        18.36205
## 1234               1                       440.94570
## 1019               1                       294.49596
## 1115               4                       413.58975
##      startprice.predict.Final.glmnet.err
## 1396                            752.9019
## 1418                            602.0643
## 1764                            481.6380
## 1234                            439.9557
## 1019                            425.6240
## 1115                            412.5998
sav_featsimp_df <- glb_featsimp_df
#glb_feats_df <- sav_feats_df
# glb_feats_df <- mymerge_feats_importance(feats_df=glb_feats_df, sel_mdl=glb_fin_mdl, 
#                                                entity_df=glb_trnobs_df)
glb_featsimp_df <- myget_feats_importance(mdl=glb_fin_mdl, featsimp_df=glb_featsimp_df)
glb_featsimp_df[, paste0(glb_fin_mdl_id, ".importance")] <- glb_featsimp_df$importance
print(glb_featsimp_df)
##                                             All.X.glmnet.importance
## prdline.my.fctriPadAir                                   100.000000
## condition.fctrNew                                         89.605213
## D.npnct09.log                                             83.307569
## prdline.my.fctriPadmini 2+                                78.075306
## condition.fctrNew other (see details)                     77.486529
## color.fctrGold                                            75.718418
## D.npnct10.log                                             69.483934
## carrier.fctrUnknown                                       68.783075
## D.terms.n.stem.stop.Ratio                                 68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2               67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2                   67.410570
## D.TfIdf.sum.stem.stop.Ratio                               67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5                  67.003081
## prdline.my.fctriPad 3+                                    66.678300
## D.npnct03.log                                             65.767488
## condition.fctrManufacturer refurbished                    65.196081
## cellular.fctr1                                            63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2                   63.037048
## D.npnct01.log                                             62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4                    62.057198
## color.fctrWhite                                           60.273720
## color.fctrSpace Gray                                      60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4                   58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2                  58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3                   57.859425
## idseq.my                                                  57.847819
## .rnorm                                                    57.838522
## D.TfIdf.sum.post.stem                                     57.838522
## D.TfIdf.sum.post.stop                                     57.838522
## D.nchrs.log                                               57.838522
## D.ndgts.log                                               57.838522
## D.npnct06.log                                             57.838522
## D.npnct12.log                                             57.838522
## D.npnct16.log                                             57.838522
## D.npnct24.log                                             57.838522
## D.nstopwrds.log                                           57.838522
## D.nuppr.log                                               57.838522
## D.nwrds.log                                               57.838522
## D.nwrds.unq.log                                           57.838522
## D.ratio.nstopwrds.nwrds                                   57.838522
## D.sum.TfIdf                                               57.838522
## D.terms.n.post.stem                                       57.838522
## D.terms.n.post.stem.log                                   57.838522
## D.terms.n.post.stop                                       57.838522
## D.terms.n.post.stop.log                                   57.838522
## carrier.fctrAT&T                                          57.838522
## carrier.fctrOther                                         57.838522
## carrier.fctrT-Mobile                                      57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4                   57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5                   57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadmini                                   57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4               57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5               57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3                  57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4                  57.838522
## carrier.fctrVerizon                                       57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3               57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3                   57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2                    56.864345
## D.npnct13.log                                             56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3                   55.718052
## D.npnct14.log                                             55.458341
## D.npnct08.log                                             55.292038
## color.fctrBlack                                           55.207252
## D.npnct11.log                                             55.159939
## D.npnct15.log                                             54.694738
## condition.fctrSeller refurbished                          54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2                    54.212030
## D.npnct05.log                                             53.685990
## D.ratio.sum.TfIdf.nwrds                                   53.529001
## carrier.fctrSprint                                        51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4                    49.726710
## prdline.my.fctriPad 2                                     49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2                   46.524843
## D.npnct28.log                                             46.354146
## cellular.fctrUnknown                                      40.187677
## prdline.my.fctriPad 1                                     30.878770
## condition.fctrFor parts or not working                    26.631947
## storage.fctr64                                            23.983863
## biddable                                                  16.709485
## storage.fctr32                                             8.679021
## storage.fctrUnknown                                        4.194256
## storage.fctr16                                             0.000000
##                                             importance
## prdline.my.fctriPadAir                      100.000000
## condition.fctrNew                            89.605213
## D.npnct09.log                                83.307569
## prdline.my.fctriPadmini 2+                   78.075306
## condition.fctrNew other (see details)        77.486529
## color.fctrGold                               75.718418
## D.npnct10.log                                69.483934
## carrier.fctrUnknown                          68.783075
## D.terms.n.stem.stop.Ratio                    68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2  67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2      67.410570
## D.TfIdf.sum.stem.stop.Ratio                  67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5     67.003081
## prdline.my.fctriPad 3+                       66.678300
## D.npnct03.log                                65.767488
## condition.fctrManufacturer refurbished       65.196081
## cellular.fctr1                               63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2      63.037048
## D.npnct01.log                                62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4       62.057198
## color.fctrWhite                              60.273720
## color.fctrSpace Gray                         60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4      58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2     58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3      57.859425
## idseq.my                                     57.847819
## .rnorm                                       57.838522
## D.TfIdf.sum.post.stem                        57.838522
## D.TfIdf.sum.post.stop                        57.838522
## D.nchrs.log                                  57.838522
## D.ndgts.log                                  57.838522
## D.npnct06.log                                57.838522
## D.npnct12.log                                57.838522
## D.npnct16.log                                57.838522
## D.npnct24.log                                57.838522
## D.nstopwrds.log                              57.838522
## D.nuppr.log                                  57.838522
## D.nwrds.log                                  57.838522
## D.nwrds.unq.log                              57.838522
## D.ratio.nstopwrds.nwrds                      57.838522
## D.sum.TfIdf                                  57.838522
## D.terms.n.post.stem                          57.838522
## D.terms.n.post.stem.log                      57.838522
## D.terms.n.post.stop                          57.838522
## D.terms.n.post.stop.log                      57.838522
## carrier.fctrAT&T                             57.838522
## carrier.fctrOther                            57.838522
## carrier.fctrT-Mobile                         57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4      57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5      57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3       57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5       57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3       57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5       57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5      57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4      57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5      57.838522
## prdline.my.fctriPadmini                      57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4  57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5  57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3     57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4     57.838522
## carrier.fctrVerizon                          57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3  57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3      57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2       56.864345
## D.npnct13.log                                56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3      55.718052
## D.npnct14.log                                55.458341
## D.npnct08.log                                55.292038
## color.fctrBlack                              55.207252
## D.npnct11.log                                55.159939
## D.npnct15.log                                54.694738
## condition.fctrSeller refurbished             54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2       54.212030
## D.npnct05.log                                53.685990
## D.ratio.sum.TfIdf.nwrds                      53.529001
## carrier.fctrSprint                           51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4       49.726710
## prdline.my.fctriPad 2                        49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2      46.524843
## D.npnct28.log                                46.354146
## cellular.fctrUnknown                         40.187677
## prdline.my.fctriPad 1                        30.878770
## condition.fctrFor parts or not working       26.631947
## storage.fctr64                               23.983863
## biddable                                     16.709485
## storage.fctr32                                8.679021
## storage.fctrUnknown                           4.194256
## storage.fctr16                                0.000000
##                                             Final.glmnet.importance
## prdline.my.fctriPadAir                                   100.000000
## condition.fctrNew                                         89.605213
## D.npnct09.log                                             83.307569
## prdline.my.fctriPadmini 2+                                78.075306
## condition.fctrNew other (see details)                     77.486529
## color.fctrGold                                            75.718418
## D.npnct10.log                                             69.483934
## carrier.fctrUnknown                                       68.783075
## D.terms.n.stem.stop.Ratio                                 68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2               67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2                   67.410570
## D.TfIdf.sum.stem.stop.Ratio                               67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5                  67.003081
## prdline.my.fctriPad 3+                                    66.678300
## D.npnct03.log                                             65.767488
## condition.fctrManufacturer refurbished                    65.196081
## cellular.fctr1                                            63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2                   63.037048
## D.npnct01.log                                             62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4                    62.057198
## color.fctrWhite                                           60.273720
## color.fctrSpace Gray                                      60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4                   58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2                  58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3                   57.859425
## idseq.my                                                  57.847819
## .rnorm                                                    57.838522
## D.TfIdf.sum.post.stem                                     57.838522
## D.TfIdf.sum.post.stop                                     57.838522
## D.nchrs.log                                               57.838522
## D.ndgts.log                                               57.838522
## D.npnct06.log                                             57.838522
## D.npnct12.log                                             57.838522
## D.npnct16.log                                             57.838522
## D.npnct24.log                                             57.838522
## D.nstopwrds.log                                           57.838522
## D.nuppr.log                                               57.838522
## D.nwrds.log                                               57.838522
## D.nwrds.unq.log                                           57.838522
## D.ratio.nstopwrds.nwrds                                   57.838522
## D.sum.TfIdf                                               57.838522
## D.terms.n.post.stem                                       57.838522
## D.terms.n.post.stem.log                                   57.838522
## D.terms.n.post.stop                                       57.838522
## D.terms.n.post.stop.log                                   57.838522
## carrier.fctrAT&T                                          57.838522
## carrier.fctrOther                                         57.838522
## carrier.fctrT-Mobile                                      57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4                   57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5                   57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadmini                                   57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4               57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5               57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3                  57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4                  57.838522
## carrier.fctrVerizon                                       57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3               57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3                   57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2                    56.864345
## D.npnct13.log                                             56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3                   55.718052
## D.npnct14.log                                             55.458341
## D.npnct08.log                                             55.292038
## color.fctrBlack                                           55.207252
## D.npnct11.log                                             55.159939
## D.npnct15.log                                             54.694738
## condition.fctrSeller refurbished                          54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2                    54.212030
## D.npnct05.log                                             53.685990
## D.ratio.sum.TfIdf.nwrds                                   53.529001
## carrier.fctrSprint                                        51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4                    49.726710
## prdline.my.fctriPad 2                                     49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2                   46.524843
## D.npnct28.log                                             46.354146
## cellular.fctrUnknown                                      40.187677
## prdline.my.fctriPad 1                                     30.878770
## condition.fctrFor parts or not working                    26.631947
## storage.fctr64                                            23.983863
## biddable                                                  16.709485
## storage.fctr32                                             8.679021
## storage.fctrUnknown                                        4.194256
## storage.fctr16                                             0.000000
if (glb_is_classification && glb_is_binomial)
    glb_analytics_diag_plots(obs_df=glb_trnobs_df, mdl_id=glb_fin_mdl_id, 
            prob_threshold=glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, 
                                         "opt.prob.threshold.OOB"]) else
    glb_analytics_diag_plots(obs_df=glb_trnobs_df, mdl_id=glb_fin_mdl_id)                  
## Warning in glb_analytics_diag_plots(obs_df = glb_trnobs_df, mdl_id =
## glb_fin_mdl_id): Limiting important feature scatter plots to 5 out of 42

##      UniqueID description biddable startprice                condition
## 1396    11397                    0     999.00                     Used
## 1418    11419                    1     700.00                     Used
## 1764    11765                    1     500.00 For parts or not working
## 1234    11235                    1       0.99  New other (see details)
## 1019    11019                    0     720.12                     Used
##      cellular carrier   color storage productline sold  .src .grpid
## 1396        0    None Unknown      32   iPad mini    0 Train   <NA>
## 1418  Unknown Unknown Unknown Unknown     Unknown    0 Train   <NA>
## 1764  Unknown Unknown Unknown Unknown     Unknown    0 Train   <NA>
## 1234        1 Unknown    Gold      64  iPad Air 2    1 Train   <NA>
## 1019        1    AT&T Unknown      64   iPad mini    0 Train   <NA>
##          .rnorm idseq.my prdline.my startprice.log descr.my
## 1396 -0.1429904     1397   iPadmini     6.90675478         
## 1418  0.7258252     1419    Unknown     6.55108034         
## 1764  0.1484839     1765    Unknown     6.21460810         
## 1234 -1.5901469     1235    iPadAir    -0.01005034         
## 1019  0.7141838     1019   iPadmini     6.57941786         
##                condition.fctr cellular.fctr carrier.fctr color.fctr
## 1396                     Used             0         None    Unknown
## 1418                     Used       Unknown      Unknown    Unknown
## 1764 For parts or not working       Unknown      Unknown    Unknown
## 1234  New other (see details)             1      Unknown       Gold
## 1019                     Used             1         AT&T    Unknown
##      storage.fctr prdline.my.fctr D.terms.n.post.stop
## 1396           32        iPadmini                   0
## 1418      Unknown         Unknown                   0
## 1764      Unknown         Unknown                   0
## 1234           64         iPadAir                   0
## 1019           64        iPadmini                   0
##      D.terms.n.post.stop.log D.TfIdf.sum.post.stop D.terms.n.post.stem
## 1396                       0                     0                   0
## 1418                       0                     0                   0
## 1764                       0                     0                   0
## 1234                       0                     0                   0
## 1019                       0                     0                   0
##      D.terms.n.post.stem.log D.TfIdf.sum.post.stem
## 1396                       0                     0
## 1418                       0                     0
## 1764                       0                     0
## 1234                       0                     0
## 1019                       0                     0
##      D.terms.n.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio D.T.condit
## 1396                         1                           1          0
## 1418                         1                           1          0
## 1764                         1                           1          0
## 1234                         1                           1          0
## 1019                         1                           1          0
##      D.T.use D.T.scratch D.T.new D.T.good D.T.ipad D.T.screen D.T.great
## 1396       0           0       0        0        0          0         0
## 1418       0           0       0        0        0          0         0
## 1764       0           0       0        0        0          0         0
## 1234       0           0       0        0        0          0         0
## 1019       0           0       0        0        0          0         0
##      D.T.work D.T.excel D.nwrds.log D.nwrds.unq.log D.sum.TfIdf
## 1396        0         0           0               0           0
## 1418        0         0           0               0           0
## 1764        0         0           0               0           0
## 1234        0         0           0               0           0
## 1019        0         0           0               0           0
##      D.ratio.sum.TfIdf.nwrds D.nchrs.log D.nuppr.log D.ndgts.log
## 1396                       0           0           0           0
## 1418                       0           0           0           0
## 1764                       0           0           0           0
## 1234                       0           0           0           0
## 1019                       0           0           0           0
##      D.npnct01.log D.npnct03.log D.npnct05.log D.npnct06.log D.npnct08.log
## 1396             0             0             0             0             0
## 1418             0             0             0             0             0
## 1764             0             0             0             0             0
## 1234             0             0             0             0             0
## 1019             0             0             0             0             0
##      D.npnct09.log D.npnct10.log D.npnct11.log D.npnct12.log D.npnct13.log
## 1396             0             0             0             0             0
## 1418             0             0             0             0             0
## 1764             0             0             0             0             0
## 1234             0             0             0             0             0
## 1019             0             0             0             0             0
##      D.npnct14.log D.npnct15.log D.npnct16.log D.npnct24.log D.npnct28.log
## 1396             0             0             0             0             0
## 1418             0             0             0             0             0
## 1764             0             0             0             0             0
## 1234             0             0             0             0             0
## 1019             0             0             0             0             0
##      D.nstopwrds.log D.ratio.nstopwrds.nwrds D.P.mini D.P.air .clusterid
## 1396               0                       1        0       0          1
## 1418               0                       1        0       0          1
## 1764               0                       1        0       0          1
## 1234               0                       1        0       0          1
## 1019               0                       1        0       0          1
##      .clusterid.fctr startprice.predict.Final.glmnet
## 1396               1                       246.09809
## 1418               1                        97.93565
## 1764               1                        18.36205
## 1234               1                       440.94570
## 1019               1                       294.49596
##      startprice.predict.Final.glmnet.err .label
## 1396                            752.9019  11397
## 1418                            602.0643  11419
## 1764                            481.6380  11765
## 1234                            439.9557  11235
## 1019                            425.6240  11019

dsp_feats_vctr <- c(NULL)
for(var in grep(".importance", names(glb_feats_df), fixed=TRUE, value=TRUE))
    dsp_feats_vctr <- union(dsp_feats_vctr, 
                            glb_feats_df[!is.na(glb_feats_df[, var]), "id"])

# print(glb_trnobs_df[glb_trnobs_df$UniqueID %in% FN_OOB_ids, 
#                     grep(glb_rsp_var, names(glb_trnobs_df), value=TRUE)])

print(setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
## [1] "startprice.predict.Final.glmnet"    
## [2] "startprice.predict.Final.glmnet.err"
for (col in setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
    # Merge or cbind ?
    glb_allobs_df[glb_allobs_df$.src == "Train", col] <- glb_trnobs_df[, col]

print(setdiff(names(glb_fitobs_df), names(glb_allobs_df)))
## character(0)
print(setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
## character(0)
for (col in setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
    # Merge or cbind ?
    glb_allobs_df[glb_allobs_df$.lcn == "OOB", col] <- glb_OOBobs_df[, col]
    
print(setdiff(names(glb_newobs_df), names(glb_allobs_df)))
## character(0)
if (glb_save_envir)
    save(glb_feats_df, glb_allobs_df, 
         #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
         glb_models_df, dsp_models_df, glb_models_lst, glb_model_type,
         glb_sel_mdl, glb_sel_mdl_id,
         glb_fin_mdl, glb_fin_mdl_id,
        file=paste0(glb_out_pfx, "dsk.RData"))

replay.petrisim(pn=glb_analytics_pn, 
    replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs, 
        "data.training.all.prediction","model.final")), flip_coord=TRUE)
## time trans    "bgn " "fit.data.training.all " "predict.data.new " "end " 
## 0.0000   multiple enabled transitions:  data.training.all data.new model.selected    firing:  data.training.all 
## 1.0000    1   2 1 0 0 
## 1.0000   multiple enabled transitions:  data.training.all data.new model.selected model.final data.training.all.prediction   firing:  data.new 
## 2.0000    2   1 1 1 0 
## 2.0000   multiple enabled transitions:  data.training.all data.new model.selected model.final data.training.all.prediction data.new.prediction   firing:  model.selected 
## 3.0000    3   0 2 1 0 
## 3.0000   multiple enabled transitions:  model.final data.training.all.prediction data.new.prediction     firing:  data.training.all.prediction 
## 4.0000    5   0 1 1 1 
## 4.0000   multiple enabled transitions:  model.final data.training.all.prediction data.new.prediction     firing:  model.final 
## 5.0000    4   0 0 2 1

glb_chunks_df <- myadd_chunk(glb_chunks_df, "predict.data.new", major.inc=TRUE)
##                label step_major step_minor     bgn     end elapsed
## 15 fit.data.training          8          1 423.554 430.935   7.381
## 16  predict.data.new          9          0 430.935      NA      NA

Step 9.0: predict data new

# Compute final model predictions
# sav_newobs_df <- glb_newobs_df
glb_newobs_df <- glb_get_predictions(glb_newobs_df, mdl_id=glb_fin_mdl_id, 
                                     rsp_var_out=glb_rsp_var_out,
    prob_threshold_def=ifelse(glb_is_classification && glb_is_binomial, 
        glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, 
                      "opt.prob.threshold.OOB"], NULL))
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.

##      UniqueID
## 2623    12625
## 2352    12354
## 2100    12102
## 2454    12456
## 2632    12634
## 2094    12096
##                                                                                                description
## 2623 Lot of 10 mixed iPad minis. Colors,models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                      
## 2100                                                                                                      
## 2454                                                                                                      
## 2632                                            Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
## 2094                                                                                                      
##      biddable startprice                condition cellular  carrier
## 2623        0     999.99 For parts or not working  Unknown  Unknown
## 2352        1       0.99                     Used        0     None
## 2100        1       1.00                      New        1     AT&T
## 2454        1       0.99                      New        1 T-Mobile
## 2632        0     700.00                     Used        1  Verizon
## 2094        0       9.00                     Used  Unknown  Unknown
##           color storage productline sold .src .grpid     .rnorm idseq.my
## 2623      White Unknown     Unknown   NA Test   <NA> -0.9259777     2625
## 2352       Gold     128  iPad Air 2   NA Test   <NA>  0.1545570     2354
## 2100 Space Gray     128 iPad mini 2   NA Test   <NA>  2.2673657     2102
## 2454      White      64  iPad Air 2   NA Test   <NA>  0.4458716     2456
## 2632    Unknown      32      iPad 2   NA Test   <NA>  0.8127608     2634
## 2094 Space Gray      64  iPad Air 2   NA Test   <NA> -0.3700640     2096
##       prdline.my startprice.log
## 2623    iPadmini     6.90774528
## 2352     iPadAir    -0.01005034
## 2100 iPadmini 2+     0.00000000
## 2454     iPadAir    -0.01005034
## 2632      iPad 2     6.55108034
## 2094     iPadAir     2.19722458
##                                                                                                    descr.my
## 2623 Lot of 10 mixed iPad minis. Colors, models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                       
## 2100                                                                                                       
## 2454                                                                                                       
## 2632                                             Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
## 2094                                                                                                       
##                condition.fctr cellular.fctr carrier.fctr color.fctr
## 2623 For parts or not working       Unknown      Unknown      White
## 2352                     Used             0         None       Gold
## 2100                      New             1         AT&T Space Gray
## 2454                      New             1     T-Mobile      White
## 2632                     Used             1      Verizon    Unknown
## 2094                     Used       Unknown      Unknown Space Gray
##      storage.fctr prdline.my.fctr D.terms.n.post.stop
## 2623      Unknown        iPadmini                   8
## 2352          128         iPadAir                   0
## 2100          128     iPadmini 2+                   0
## 2454           64         iPadAir                   0
## 2632           32          iPad 2                   8
## 2094           64         iPadAir                   0
##      D.terms.n.post.stop.log D.TfIdf.sum.post.stop D.terms.n.post.stem
## 2623                2.197225              9.127623                   8
## 2352                0.000000              0.000000                   0
## 2100                0.000000              0.000000                   0
## 2454                0.000000              0.000000                   0
## 2632                2.197225              7.047501                   8
## 2094                0.000000              0.000000                   0
##      D.terms.n.post.stem.log D.TfIdf.sum.post.stem
## 2623                2.197225              8.069403
## 2352                0.000000              0.000000
## 2100                0.000000              0.000000
## 2454                0.000000              0.000000
## 2632                2.197225              6.969581
## 2094                0.000000              0.000000
##      D.terms.n.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio D.T.condit
## 2623                         1                   0.8840640  0.0000000
## 2352                         1                   1.0000000  0.0000000
## 2100                         1                   1.0000000  0.0000000
## 2454                         1                   1.0000000  0.0000000
## 2632                         1                   0.9889437  0.3026733
## 2094                         1                   1.0000000  0.0000000
##      D.T.use D.T.scratch D.T.new  D.T.good  D.T.ipad D.T.screen D.T.great
## 2623       0           0       0 0.0000000 0.3908446          0         0
## 2352       0           0       0 0.0000000 0.0000000          0         0
## 2100       0           0       0 0.0000000 0.0000000          0         0
## 2454       0           0       0 0.0000000 0.0000000          0         0
## 2632       0           0       0 0.4691913 0.4397002          0         0
## 2094       0           0       0 0.0000000 0.0000000          0         0
##      D.T.work D.T.excel D.nwrds.log D.nwrds.unq.log D.sum.TfIdf
## 2623        0         0    2.944439        2.197225    8.069403
## 2352        0         0    0.000000        0.000000    0.000000
## 2100        0         0    0.000000        0.000000    0.000000
## 2454        0         0    0.000000        0.000000    0.000000
## 2632        0         0    2.484907        2.197225    6.969581
## 2094        0         0    0.000000        0.000000    0.000000
##      D.ratio.sum.TfIdf.nwrds D.nchrs.log D.nuppr.log D.ndgts.log
## 2623               0.4483002    4.634729    4.356709    1.098612
## 2352               0.0000000    0.000000    0.000000    0.000000
## 2100               0.0000000    0.000000    0.000000    0.000000
## 2454               0.0000000    0.000000    0.000000    0.000000
## 2632               0.6335983    4.077537    3.713572    1.609438
## 2094               0.0000000    0.000000    0.000000    0.000000
##      D.npnct01.log D.npnct03.log D.npnct05.log D.npnct06.log D.npnct08.log
## 2623             0             0             0     0.6931472             0
## 2352             0             0             0     0.0000000             0
## 2100             0             0             0     0.0000000             0
## 2454             0             0             0     0.0000000             0
## 2632             0             0             0     0.0000000             0
## 2094             0             0             0     0.0000000             0
##      D.npnct09.log D.npnct10.log D.npnct11.log D.npnct12.log D.npnct13.log
## 2623             0     0.0000000     0.6931472             0      1.098612
## 2352             0     0.0000000     0.0000000             0      0.000000
## 2100             0     0.0000000     0.0000000             0      0.000000
## 2454             0     0.0000000     0.0000000             0      0.000000
## 2632             0     0.6931472     0.0000000             0      1.098612
## 2094             0     0.0000000     0.0000000             0      0.000000
##      D.npnct14.log D.npnct15.log D.npnct16.log D.npnct24.log D.npnct28.log
## 2623             0             0     0.6931472     0.6931472             0
## 2352             0             0     0.0000000     0.0000000             0
## 2100             0             0     0.0000000     0.0000000             0
## 2454             0             0     0.0000000     0.0000000             0
## 2632             0             0     0.0000000     0.6931472             0
## 2094             0             0     0.0000000     0.0000000             0
##      D.nstopwrds.log D.ratio.nstopwrds.nwrds D.P.mini D.P.air .clusterid
## 2623       2.1972246               0.4736842        1       0          4
## 2352       0.0000000               1.0000000        0       0          1
## 2100       0.0000000               1.0000000        0       0          1
## 2454       0.0000000               1.0000000        0       0          1
## 2632       0.6931472               0.1666667        0       0          2
## 2094       0.0000000               1.0000000        0       0          1
##      .clusterid.fctr startprice.predict.Final.glmnet
## 2623               4                        147.8207
## 2352               1                        464.9190
## 2100               1                        456.8585
## 2454               1                        432.6484
## 2632               2                        278.9357
## 2094               1                        415.4564
##      startprice.predict.Final.glmnet.err
## 2623                            852.1693
## 2352                            463.9290
## 2100                            455.8585
## 2454                            431.6584
## 2632                            421.0643
## 2094                            406.4564
if (glb_is_classification && glb_is_binomial)
    glb_analytics_diag_plots(obs_df=glb_newobs_df, mdl_id=glb_fin_mdl_id, 
            prob_threshold=glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, 
                                         "opt.prob.threshold.OOB"]) else
    glb_analytics_diag_plots(obs_df=glb_newobs_df, mdl_id=glb_fin_mdl_id)                  
## Warning in glb_analytics_diag_plots(obs_df = glb_newobs_df, mdl_id =
## glb_fin_mdl_id): Limiting important feature scatter plots to 5 out of 42

##      UniqueID
## 2623    12625
## 2352    12354
## 2100    12102
## 2454    12456
## 2632    12634
##                                                                                                description
## 2623 Lot of 10 mixed iPad minis. Colors,models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                      
## 2100                                                                                                      
## 2454                                                                                                      
## 2632                                            Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
##      biddable startprice                condition cellular  carrier
## 2623        0     999.99 For parts or not working  Unknown  Unknown
## 2352        1       0.99                     Used        0     None
## 2100        1       1.00                      New        1     AT&T
## 2454        1       0.99                      New        1 T-Mobile
## 2632        0     700.00                     Used        1  Verizon
##           color storage productline sold .src .grpid     .rnorm idseq.my
## 2623      White Unknown     Unknown   NA Test   <NA> -0.9259777     2625
## 2352       Gold     128  iPad Air 2   NA Test   <NA>  0.1545570     2354
## 2100 Space Gray     128 iPad mini 2   NA Test   <NA>  2.2673657     2102
## 2454      White      64  iPad Air 2   NA Test   <NA>  0.4458716     2456
## 2632    Unknown      32      iPad 2   NA Test   <NA>  0.8127608     2634
##       prdline.my startprice.log
## 2623    iPadmini     6.90774528
## 2352     iPadAir    -0.01005034
## 2100 iPadmini 2+     0.00000000
## 2454     iPadAir    -0.01005034
## 2632      iPad 2     6.55108034
##                                                                                                    descr.my
## 2623 Lot of 10 mixed iPad minis. Colors, models &amp; storage capacity vary between each lot. There may be 
## 2352                                                                                                       
## 2100                                                                                                       
## 2454                                                                                                       
## 2632                                             Good condition IPAD 2 32gb wifi + 3g verizon. LOT OF FIVE.
##                condition.fctr cellular.fctr carrier.fctr color.fctr
## 2623 For parts or not working       Unknown      Unknown      White
## 2352                     Used             0         None       Gold
## 2100                      New             1         AT&T Space Gray
## 2454                      New             1     T-Mobile      White
## 2632                     Used             1      Verizon    Unknown
##      storage.fctr prdline.my.fctr D.terms.n.post.stop
## 2623      Unknown        iPadmini                   8
## 2352          128         iPadAir                   0
## 2100          128     iPadmini 2+                   0
## 2454           64         iPadAir                   0
## 2632           32          iPad 2                   8
##      D.terms.n.post.stop.log D.TfIdf.sum.post.stop D.terms.n.post.stem
## 2623                2.197225              9.127623                   8
## 2352                0.000000              0.000000                   0
## 2100                0.000000              0.000000                   0
## 2454                0.000000              0.000000                   0
## 2632                2.197225              7.047501                   8
##      D.terms.n.post.stem.log D.TfIdf.sum.post.stem
## 2623                2.197225              8.069403
## 2352                0.000000              0.000000
## 2100                0.000000              0.000000
## 2454                0.000000              0.000000
## 2632                2.197225              6.969581
##      D.terms.n.stem.stop.Ratio D.TfIdf.sum.stem.stop.Ratio D.T.condit
## 2623                         1                   0.8840640  0.0000000
## 2352                         1                   1.0000000  0.0000000
## 2100                         1                   1.0000000  0.0000000
## 2454                         1                   1.0000000  0.0000000
## 2632                         1                   0.9889437  0.3026733
##      D.T.use D.T.scratch D.T.new  D.T.good  D.T.ipad D.T.screen D.T.great
## 2623       0           0       0 0.0000000 0.3908446          0         0
## 2352       0           0       0 0.0000000 0.0000000          0         0
## 2100       0           0       0 0.0000000 0.0000000          0         0
## 2454       0           0       0 0.0000000 0.0000000          0         0
## 2632       0           0       0 0.4691913 0.4397002          0         0
##      D.T.work D.T.excel D.nwrds.log D.nwrds.unq.log D.sum.TfIdf
## 2623        0         0    2.944439        2.197225    8.069403
## 2352        0         0    0.000000        0.000000    0.000000
## 2100        0         0    0.000000        0.000000    0.000000
## 2454        0         0    0.000000        0.000000    0.000000
## 2632        0         0    2.484907        2.197225    6.969581
##      D.ratio.sum.TfIdf.nwrds D.nchrs.log D.nuppr.log D.ndgts.log
## 2623               0.4483002    4.634729    4.356709    1.098612
## 2352               0.0000000    0.000000    0.000000    0.000000
## 2100               0.0000000    0.000000    0.000000    0.000000
## 2454               0.0000000    0.000000    0.000000    0.000000
## 2632               0.6335983    4.077537    3.713572    1.609438
##      D.npnct01.log D.npnct03.log D.npnct05.log D.npnct06.log D.npnct08.log
## 2623             0             0             0     0.6931472             0
## 2352             0             0             0     0.0000000             0
## 2100             0             0             0     0.0000000             0
## 2454             0             0             0     0.0000000             0
## 2632             0             0             0     0.0000000             0
##      D.npnct09.log D.npnct10.log D.npnct11.log D.npnct12.log D.npnct13.log
## 2623             0     0.0000000     0.6931472             0      1.098612
## 2352             0     0.0000000     0.0000000             0      0.000000
## 2100             0     0.0000000     0.0000000             0      0.000000
## 2454             0     0.0000000     0.0000000             0      0.000000
## 2632             0     0.6931472     0.0000000             0      1.098612
##      D.npnct14.log D.npnct15.log D.npnct16.log D.npnct24.log D.npnct28.log
## 2623             0             0     0.6931472     0.6931472             0
## 2352             0             0     0.0000000     0.0000000             0
## 2100             0             0     0.0000000     0.0000000             0
## 2454             0             0     0.0000000     0.0000000             0
## 2632             0             0     0.0000000     0.6931472             0
##      D.nstopwrds.log D.ratio.nstopwrds.nwrds D.P.mini D.P.air .clusterid
## 2623       2.1972246               0.4736842        1       0          4
## 2352       0.0000000               1.0000000        0       0          1
## 2100       0.0000000               1.0000000        0       0          1
## 2454       0.0000000               1.0000000        0       0          1
## 2632       0.6931472               0.1666667        0       0          2
##      .clusterid.fctr startprice.predict.Final.glmnet
## 2623               4                        147.8207
## 2352               1                        464.9190
## 2100               1                        456.8585
## 2454               1                        432.6484
## 2632               2                        278.9357
##      startprice.predict.Final.glmnet.err .label
## 2623                            852.1693  12625
## 2352                            463.9290  12354
## 2100                            455.8585  12102
## 2454                            431.6584  12456
## 2632                            421.0643  12634

if (glb_is_classification && glb_is_binomial) {
    submit_df <- glb_newobs_df[, c(glb_id_var, 
                                   paste0(glb_rsp_var_out, glb_fin_mdl_id, ".prob"))]
    names(submit_df)[2] <- "Probability1"
#     submit_df <- glb_newobs_df[, c(paste0(glb_rsp_var_out, glb_fin_mdl_id)), FALSE]
#     names(submit_df)[1] <- "BDscience"
#     submit_df$BDscience <- as.numeric(submit_df$BDscience) - 1
#     #submit_df <-rbind(submit_df, data.frame(bdanalytics=c(" ")))
#     print("Submission Stats:")
#     print(table(submit_df$BDscience, useNA = "ifany"))
    
    glb_force_prediction_lst <- list()
    glb_force_prediction_lst[["0"]] <- c(11885, 11907, 12253, 12585)
    for (obs_id in glb_force_prediction_lst[["0"]])
        submit_df[submit_df[, glb_id_var] == obs_id, "Probability1"] <-
            max(0, submit_df[submit_df[, glb_id_var] == obs_id, "Probability1"] - 0.5)
    
    glb_force_prediction_lst[["1"]] <- c(11871, 11875, 11886, 
                                         11913, 11931, 11937, 11967, 11990, 11994, 11999, 
                                         12000, 12021, 12065, 12072, 12111, 12114, 12126, 
                                         12214, 12233, 12278, 12299, 12446, 12491, 
                                         12505, 12576, 12630)
    for (obs_id in glb_force_prediction_lst[["1"]])
        submit_df[submit_df[, glb_id_var] == obs_id, "Probability1"] <-
            min(0.9999, submit_df[submit_df[, glb_id_var] == obs_id, "Probability1"] + 0.5)
    
} else submit_df <- glb_newobs_df[, c(glb_id_var, 
                                   paste0(glb_rsp_var_out, glb_fin_mdl_id))]

if (glb_is_classification) {
    rsp_var_out <- paste0(glb_rsp_var_out, glb_fin_mdl_id)
    tmp_newobs_df <- subset(glb_newobs_df[, c(glb_id_var, ".grpid", rsp_var_out)],
                            !is.na(.grpid))
    tmp_newobs_df <- merge(tmp_newobs_df, dupgrps_df, by=".grpid", all.x=TRUE)
    tmp_newobs_df <- merge(tmp_newobs_df, submit_df, by=glb_id_var, all.x = TRUE)
    tmp_newobs_df$.err <- 
        ((tmp_newobs_df$Probability1 >= 0.5) & (tmp_newobs_df$sold.0 > 0) |
         (tmp_newobs_df$Probability1 <= 0.5) & (tmp_newobs_df$sold.1 > 0))
    tmp_newobs_df <- orderBy(~UniqueID, subset(tmp_newobs_df, .err == TRUE))
    print("Prediction errors in duplicates:")
    print(tmp_newobs_df)
    
    if (nrow(tmp_newobs_df) > 0)
        stop("check Prediction errors in duplicates")
    #print(dupobs_df[dupobs_df$.grpid == 26, ])
    
    if (max(glb_newobs_df[!is.na(glb_newobs_df[, rsp_var_out]) & 
                      (glb_newobs_df[, rsp_var_out] == "Y"), "startprice"]) > 
        max(glb_allobs_df[!is.na(glb_allobs_df[, glb_rsp_var]) & 
                      (glb_allobs_df[, glb_rsp_var] == "Y"), "startprice"]))
        stop("startprice for some +ve predictions > 675")
}

submit_fname <- paste0(gsub(".", "_", paste0(glb_out_pfx, glb_fin_mdl_id), fixed=TRUE), 
                    "_submit.csv")
write.csv(submit_df, submit_fname, quote=FALSE, row.names=FALSE)
#cat(" ", "\n", file=submit_fn, append=TRUE)

# print(orderBy(~ -max.auc.OOB, glb_models_df[, c("model_id", 
#             "max.auc.OOB", "max.Accuracy.OOB")]))
for (txt_var in glb_txt_vars) {
    # Print post-stem-words but need post-stop-words for debugging ?
    print(sprintf("    All post-stem-words TfIDf terms for %s:", txt_var))
    myprint_df(glb_post_stem_words_terms_df_lst[[txt_var]])
    TfIdf_mtrx <- glb_post_stem_words_TfIdf_mtrx_lst[[txt_var]]
    print(glb_allobs_df[
        which(TfIdf_mtrx[, tail(glb_post_stem_words_terms_df_lst[[txt_var]], 1)$pos] > 0), 
                        c(glb_id_var, glb_txt_vars)])
    print(nrow(subset(glb_post_stem_words_terms_df_lst[[txt_var]], freq == 1)))
    #print(glb_allobs_df[which(TfIdf_mtrx[, 207] > 0), c(glb_id_var, glb_txt_vars)])
    #unlist(strsplit(glb_allobs_df[2157, "description"], ""))
    #glb_allobs_df[2442, c(glb_id_var, glb_txt_vars)]
    #TfIdf_mtrx[2442, TfIdf_mtrx[2442, ] > 0]  

    print(sprintf("    Top_n post_stem_words TfIDf terms for %s:", txt_var))
    tmp_df <- glb_post_stem_words_terms_df_lst[[txt_var]]
    top_n_vctr <- tmp_df$term[1:glb_top_n[[txt_var]]]
    tmp_freq1_df <- subset(tmp_df, freq == 1)
    tmp_freq1_df$top_n <- grepl(paste0(top_n_vctr, collapse="|"), tmp_freq1_df$term)
    print(subset(tmp_freq1_df, top_n == TRUE))
}
## [1] "    All post-stem-words TfIDf terms for descr.my:"
##            TfIdf    term freq pos
## condit  208.1066  condit  496 122
## use     146.5910     use  291 559
## scratch 128.3886 scratch  286 457
## new     125.5866     new  156 346
## good    121.0564    good  197 233
## ipad    107.4871    ipad  232 275
##                TfIdf       term freq pos
## well       10.609528       well   13 575
## iphon       3.557343      iphon    2 276
## thorough    2.190401   thorough    2 531
## close       1.895930      close    1 115
## photograph  1.421948 photograph    1 388
## forgot      1.263954     forgot    1 211
##             TfIdf    term freq pos
## remot   1.2639536   remot    1 437
## ringer  1.2639536  ringer    1 450
## septemb 1.2639536 septemb    1 468
## site    1.2639536    site    1 487
## 975     1.1375583     975    1  16
## 79in    0.9479652    79in    1  15
##     UniqueID
## 520    10520
##                                                                                             descr.my
## 520 Apple iPad mini 1st Generation 16GB, Wi- Fi, 7.9in - Space Gray, great condition comes with the 
## [1] 123
## [1] "    Top_n post_stem_words TfIDf terms for descr.my:"
## [1] TfIdf term  freq  pos   top_n
## <0 rows> (or 0-length row.names)
if (glb_is_classification && glb_is_binomial)
    print(glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, 
                        "opt.prob.threshold.OOB"])
print(sprintf("glb_sel_mdl_id: %s", glb_sel_mdl_id))
## [1] "glb_sel_mdl_id: All.X.glmnet"
print(sprintf("glb_fin_mdl_id: %s", glb_fin_mdl_id))
## [1] "glb_fin_mdl_id: Final.glmnet"
print(dim(glb_fitobs_df))
## [1] 1859   70
print(dsp_models_df)
##                         model_id min.RMSE.OOB  max.R.sq.OOB
## 11                  All.X.glmnet     115.1109  0.5586710646
## 10                All.X.bayesglm     116.0511  0.5514321729
## 8                       All.X.lm     116.1134  0.5509503685
## 9                      All.X.glm     116.1134  0.5509503685
## 7                   Low.cor.X.lm     116.2442  0.5499382378
## 13             All.X.no.rnorm.rf     116.5649  0.5474903751
## 23                    csm.glmnet     117.0369  0.5437790872
## 22                  csm.bayesglm     117.2540  0.5420843077
## 20                        csm.lm     117.2598  0.5420391989
## 21                       csm.glm     117.2598  0.5420391989
## 25                        csm.rf     117.6358  0.5391101087
## 17         All.Interact.X.glmnet     117.9834  0.5363701270
## 19    All.Interact.X.no.rnorm.rf     118.7819  0.5301107517
## 16       All.Interact.X.bayesglm     119.1099  0.5274745018
## 14             All.Interact.X.lm     119.1518  0.5271413171
## 15            All.Interact.X.glm     119.1518  0.5271413171
## 3      Max.cor.Y.cv.0.cp.0.rpart     128.4084  0.4508173959
## 5                   Max.cor.Y.lm     130.8154  0.4300359559
## 6         Interact.High.cor.Y.lm     131.0606  0.4278967451
## 18 All.Interact.X.no.rnorm.rpart     142.7501  0.3212929245
## 12          All.X.no.rnorm.rpart     142.7899  0.3209142767
## 24                     csm.rpart     142.7899  0.3209142767
## 4                Max.cor.Y.rpart     142.7899  0.3209142767
## 2           Max.cor.Y.cv.0.rpart     173.2747  0.0000000000
## 1                         MFO.lm     173.3545 -0.0009216371
##    max.Adj.R.sq.fit
## 11               NA
## 10               NA
## 8      0.6550485788
## 9                NA
## 7      0.6523458225
## 13               NA
## 23               NA
## 22               NA
## 20     0.6019349714
## 21               NA
## 25               NA
## 17               NA
## 19               NA
## 16               NA
## 14     0.6748153092
## 15               NA
## 3                NA
## 5      0.4824182255
## 6      0.4904623716
## 18               NA
## 12               NA
## 24               NA
## 4                NA
## 2                NA
## 1     -0.0004792931
if (glb_is_regression) {
    print(sprintf("%s OOB RMSE: %0.4f", glb_sel_mdl_id,
                  glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, "min.RMSE.OOB"]))

    if (!is.null(glb_category_var)) {
        tmp_OOBobs_df <- glb_OOBobs_df[, c(glb_category_var, glb_rsp_var,
                                           predct_error_var_name)]
        names(tmp_OOBobs_df)[length(names(tmp_OOBobs_df))] <- "error.abs.OOB"
        sOOB_ctgry_df <- dplyr::group_by(tmp_OOBobs_df, prdline.my)
        sOOB_ctgry_df <- dplyr::count(sOOB_ctgry_df, 
                                      startprice.OOB.sum = sum(startprice),
                                        err.abs.OOB.sum = sum(error.abs.OOB),
                                        err.abs.OOB.mean = mean(error.abs.OOB))
        names(sOOB_ctgry_df)[4] <- ".n.OOB"
        sOOB_ctgry_df <- dplyr::ungroup(sOOB_ctgry_df)
        #intersect(names(glb_ctgry_df), names(sOOB_ctgry_df))
        glb_ctgry_df <- merge(glb_ctgry_df, sOOB_ctgry_df, all=TRUE)
        print(orderBy(~-err.abs.OOB.mean, glb_ctgry_df))
    }
    
    if ((glb_rsp_var %in% names(glb_newobs_df)) &&
        !(any(is.na(glb_newobs_df[, glb_rsp_var])))) {
            pred_stats_df <- 
                mypredict_mdl(mdl=glb_models_lst[[glb_fin_mdl_id]], 
                              df=glb_newobs_df, 
                              rsp_var=glb_rsp_var, 
                              rsp_var_out=glb_rsp_var_out, 
                              model_id_method=glb_fin_mdl_id, 
                              label="new",
                              model_summaryFunction=glb_sel_mdl$control$summaryFunction, 
                              model_metric=glb_sel_mdl$metric,
                              model_metric_maximize=glb_sel_mdl$maximize,
                              ret_type="stats")        
            print(sprintf("%s prediction stats for glb_newobs_df:", glb_fin_mdl_id))
            print(pred_stats_df)
    }    
}
## [1] "All.X.glmnet OOB RMSE: 115.1109"
##   .n.OOB  prdline.my .n.Tst .freqRatio.Tst .freqRatio.OOB
## 1     87     Unknown     87      0.1090226      0.1090226
## 6    137     iPadAir    137      0.1716792      0.1716792
## 3     94 iPadmini 2+     94      0.1177945      0.1177945
## 4    114    iPadmini    114      0.1428571      0.1428571
## 5    123     iPad 3+    123      0.1541353      0.1541353
## 7    154      iPad 2    154      0.1929825      0.1929825
## 2     89      iPad 1     89      0.1115288      0.1115288
##   startprice.OOB.sum err.abs.OOB.sum err.abs.OOB.mean
## 1           16757.67       10453.482        120.15496
## 6           50210.71       14380.967        104.97056
## 3           26052.46        9597.881        102.10512
## 4           17374.26        8439.230         74.02833
## 5           27442.37        9063.681         73.68846
## 7           21937.85        8523.298         55.34609
## 2            6718.36        4715.722         52.98564
## [1] "Final.glmnet prediction stats for glb_newobs_df:"
##       model_id max.R.sq.new min.RMSE.new
## 1 Final.glmnet    0.5586711     115.1109
if (glb_is_classification) {
    print(sprintf("%s OOB confusion matrix & accuracy: ", glb_sel_mdl_id))
    print(t(confusionMatrix(glb_OOBobs_df[, paste0(glb_rsp_var_out, glb_sel_mdl_id)], 
                            glb_OOBobs_df[, glb_rsp_var])$table))

    if (!is.null(glb_category_var)) {
        tmp_OOBobs_df <- glb_OOBobs_df[, c(glb_category_var, predct_accurate_var_name)]
        names(tmp_OOBobs_df)[length(names(tmp_OOBobs_df))] <- "accurate.OOB"
        aOOB_ctgry_df <- mycreate_xtab_df(tmp_OOBobs_df, names(tmp_OOBobs_df)) 
        aOOB_ctgry_df[is.na(aOOB_ctgry_df)] <- 0
        aOOB_ctgry_df <- mutate(aOOB_ctgry_df, 
                                .n.OOB = accurate.OOB.FALSE + accurate.OOB.TRUE,
                                max.accuracy.OOB = accurate.OOB.TRUE / .n.OOB)
        #intersect(names(glb_ctgry_df), names(aOOB_ctgry_df))
        glb_ctgry_df <- merge(glb_ctgry_df, aOOB_ctgry_df, all=TRUE)
        print(orderBy(~-accurate.OOB.FALSE, glb_ctgry_df))
        
        print(glb_OOBobs_df[(glb_OOBobs_df$prdline.my == "iPadAir") & 
                            !(glb_OOBobs_df[, predct_accurate_var_name]), 
                            c(glb_id_var, glb_rsp_var_raw,
                              #"description"
                              "biddable", "startprice", "condition"
                              )])
    }
    
    if ((glb_rsp_var %in% names(glb_newobs_df)) &&
        !(any(is.na(glb_newobs_df[, glb_rsp_var])))) {
        print(sprintf("%s new confusion matrix & accuracy: ", glb_fin_mdl_id))
        print(t(confusionMatrix(glb_newobs_df[, paste0(glb_rsp_var_out, glb_fin_mdl_id)], 
                                glb_newobs_df[, glb_rsp_var])$table))
    }    

}    

dsp_myCategory_conf_mtrx <- function(myCategory) {
    print(sprintf("%s OOB::myCategory=%s confusion matrix & accuracy: ", 
                  glb_sel_mdl_id, myCategory))
    print(t(confusionMatrix(
        glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory, 
                      paste0(glb_rsp_var_out, glb_sel_mdl_id)], 
        glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory, glb_rsp_var])$table))
    print(sum(glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory, 
                            predct_accurate_var_name]) / 
         nrow(glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory, ]))
    err_ids <- glb_OOBobs_df[(glb_OOBobs_df$myCategory == myCategory) & 
                             (!glb_OOBobs_df[, predct_accurate_var_name]), glb_id_var]

    OOB_FNerr_df <- glb_OOBobs_df[(glb_OOBobs_df$UniqueID %in% err_ids) & 
                               (glb_OOBobs_df$Popular == 1), 
                        c(
                            ".clusterid", 
                            "Popular", "Headline", "Snippet", "Abstract")]
    print(sprintf("%s OOB::myCategory=%s FN errors: %d", glb_sel_mdl_id, myCategory,
                  nrow(OOB_FNerr_df)))
    print(OOB_FNerr_df)

    OOB_FPerr_df <- glb_OOBobs_df[(glb_OOBobs_df$UniqueID %in% err_ids) & 
                               (glb_OOBobs_df$Popular == 0), 
                        c(
                            ".clusterid", 
                            "Popular", "Headline", "Snippet", "Abstract")]
    print(sprintf("%s OOB::myCategory=%s FP errors: %d", glb_sel_mdl_id, myCategory,
                  nrow(OOB_FPerr_df)))
    print(OOB_FPerr_df)
}
#dsp_myCategory_conf_mtrx(myCategory="OpEd#Opinion#")
#dsp_myCategory_conf_mtrx(myCategory="Business#Business Day#Dealbook")
#dsp_myCategory_conf_mtrx(myCategory="##")

# if (glb_is_classification) {
#     print("FN_OOB_ids:")
#     print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                         grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
#     print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                         glb_txt_vars])
#     print(dsp_vctr <- colSums(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                         setdiff(grep("[HSA].", names(glb_OOBobs_df), value=TRUE),
#                                 union(myfind_chr_cols_df(glb_OOBobs_df),
#                     grep(".fctr", names(glb_OOBobs_df), fixed=TRUE, value=TRUE)))]))
# }

dsp_hdlpfx_results <- function(hdlpfx) {
    print(hdlpfx)
    print(glb_OOBobs_df[glb_OOBobs_df$Headline.pfx %in% c(hdlpfx), 
                        grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
    print(glb_newobs_df[glb_newobs_df$Headline.pfx %in% c(hdlpfx), 
                        grep(glb_rsp_var, names(glb_newobs_df), value=TRUE)])
    print(dsp_vctr <- colSums(glb_newobs_df[glb_newobs_df$Headline.pfx %in% c(hdlpfx), 
                        setdiff(grep("[HSA]\\.", names(glb_newobs_df), value=TRUE),
                                union(myfind_chr_cols_df(glb_newobs_df),
                    grep(".fctr", names(glb_newobs_df), fixed=TRUE, value=TRUE)))]))
    print(dsp_vctr <- dsp_vctr[dsp_vctr != 0])
    print(glb_newobs_df[glb_newobs_df$Headline.pfx %in% c(hdlpfx), 
                        union(names(dsp_vctr), myfind_chr_cols_df(glb_newobs_df))])
}
#dsp_hdlpfx_results(hdlpfx="Ask Well::")

# print("myMisc::|OpEd|blank|blank|1:")
# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% c(6446), 
#                     grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])

# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids, 
#                     c("WordCount", "WordCount.log", "myMultimedia",
#                       "NewsDesk", "SectionName", "SubsectionName")])
# print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains="[Vv]ideo"), ], 
#                           c(glb_rsp_var, "myMultimedia")))
# dsp_chisq.test(Headline.contains="[Vi]deo")
# print(glb_allobs_df[sel_obs(Headline.contains="[Vv]ideo"), 
#                           c(glb_rsp_var, "Popular", "myMultimedia", "Headline")])
# print(glb_allobs_df[sel_obs(Headline.contains="[Ee]bola", Popular=1), 
#                           c(glb_rsp_var, "Popular", "myMultimedia", "Headline",
#                             "NewsDesk", "SectionName", "SubsectionName")])
# print(subset(glb_feats_df, !is.na(importance))[,
#     c("is.ConditionalX.y", 
#       grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
# print(subset(glb_feats_df, is.ConditionalX.y & is.na(importance))[,
#     c("is.ConditionalX.y", 
#       grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
# print(subset(glb_feats_df, !is.na(importance))[,
#     c("zeroVar", "nzv", "myNearZV", 
#       grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
# print(subset(glb_feats_df, is.na(importance))[,
#     c("zeroVar", "nzv", "myNearZV", 
#       grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
print(orderBy(as.formula(paste0("~ -", glb_sel_mdl_id, ".importance")), glb_featsimp_df))
##                                             All.X.glmnet.importance
## prdline.my.fctriPadAir                                   100.000000
## condition.fctrNew                                         89.605213
## D.npnct09.log                                             83.307569
## prdline.my.fctriPadmini 2+                                78.075306
## condition.fctrNew other (see details)                     77.486529
## color.fctrGold                                            75.718418
## D.npnct10.log                                             69.483934
## carrier.fctrUnknown                                       68.783075
## D.terms.n.stem.stop.Ratio                                 68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2               67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2                   67.410570
## D.TfIdf.sum.stem.stop.Ratio                               67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5                  67.003081
## prdline.my.fctriPad 3+                                    66.678300
## D.npnct03.log                                             65.767488
## condition.fctrManufacturer refurbished                    65.196081
## cellular.fctr1                                            63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2                   63.037048
## D.npnct01.log                                             62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4                    62.057198
## color.fctrWhite                                           60.273720
## color.fctrSpace Gray                                      60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4                   58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2                  58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3                   57.859425
## idseq.my                                                  57.847819
## .rnorm                                                    57.838522
## D.TfIdf.sum.post.stem                                     57.838522
## D.TfIdf.sum.post.stop                                     57.838522
## D.nchrs.log                                               57.838522
## D.ndgts.log                                               57.838522
## D.npnct06.log                                             57.838522
## D.npnct12.log                                             57.838522
## D.npnct16.log                                             57.838522
## D.npnct24.log                                             57.838522
## D.nstopwrds.log                                           57.838522
## D.nuppr.log                                               57.838522
## D.nwrds.log                                               57.838522
## D.nwrds.unq.log                                           57.838522
## D.ratio.nstopwrds.nwrds                                   57.838522
## D.sum.TfIdf                                               57.838522
## D.terms.n.post.stem                                       57.838522
## D.terms.n.post.stem.log                                   57.838522
## D.terms.n.post.stop                                       57.838522
## D.terms.n.post.stop.log                                   57.838522
## carrier.fctrAT&T                                          57.838522
## carrier.fctrOther                                         57.838522
## carrier.fctrT-Mobile                                      57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4                   57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5                   57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadmini                                   57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4               57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5               57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3                  57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4                  57.838522
## carrier.fctrVerizon                                       57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3               57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3                   57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2                    56.864345
## D.npnct13.log                                             56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3                   55.718052
## D.npnct14.log                                             55.458341
## D.npnct08.log                                             55.292038
## color.fctrBlack                                           55.207252
## D.npnct11.log                                             55.159939
## D.npnct15.log                                             54.694738
## condition.fctrSeller refurbished                          54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2                    54.212030
## D.npnct05.log                                             53.685990
## D.ratio.sum.TfIdf.nwrds                                   53.529001
## carrier.fctrSprint                                        51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4                    49.726710
## prdline.my.fctriPad 2                                     49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2                   46.524843
## D.npnct28.log                                             46.354146
## cellular.fctrUnknown                                      40.187677
## prdline.my.fctriPad 1                                     30.878770
## condition.fctrFor parts or not working                    26.631947
## storage.fctr64                                            23.983863
## biddable                                                  16.709485
## storage.fctr32                                             8.679021
## storage.fctrUnknown                                        4.194256
## storage.fctr16                                             0.000000
##                                             importance
## prdline.my.fctriPadAir                      100.000000
## condition.fctrNew                            89.605213
## D.npnct09.log                                83.307569
## prdline.my.fctriPadmini 2+                   78.075306
## condition.fctrNew other (see details)        77.486529
## color.fctrGold                               75.718418
## D.npnct10.log                                69.483934
## carrier.fctrUnknown                          68.783075
## D.terms.n.stem.stop.Ratio                    68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2  67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2      67.410570
## D.TfIdf.sum.stem.stop.Ratio                  67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5     67.003081
## prdline.my.fctriPad 3+                       66.678300
## D.npnct03.log                                65.767488
## condition.fctrManufacturer refurbished       65.196081
## cellular.fctr1                               63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2      63.037048
## D.npnct01.log                                62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4       62.057198
## color.fctrWhite                              60.273720
## color.fctrSpace Gray                         60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4      58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2     58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3      57.859425
## idseq.my                                     57.847819
## .rnorm                                       57.838522
## D.TfIdf.sum.post.stem                        57.838522
## D.TfIdf.sum.post.stop                        57.838522
## D.nchrs.log                                  57.838522
## D.ndgts.log                                  57.838522
## D.npnct06.log                                57.838522
## D.npnct12.log                                57.838522
## D.npnct16.log                                57.838522
## D.npnct24.log                                57.838522
## D.nstopwrds.log                              57.838522
## D.nuppr.log                                  57.838522
## D.nwrds.log                                  57.838522
## D.nwrds.unq.log                              57.838522
## D.ratio.nstopwrds.nwrds                      57.838522
## D.sum.TfIdf                                  57.838522
## D.terms.n.post.stem                          57.838522
## D.terms.n.post.stem.log                      57.838522
## D.terms.n.post.stop                          57.838522
## D.terms.n.post.stop.log                      57.838522
## carrier.fctrAT&T                             57.838522
## carrier.fctrOther                            57.838522
## carrier.fctrT-Mobile                         57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4      57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5      57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3       57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5       57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3       57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5       57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5      57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4      57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5      57.838522
## prdline.my.fctriPadmini                      57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4  57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5  57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3     57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4     57.838522
## carrier.fctrVerizon                          57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3  57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3      57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2       56.864345
## D.npnct13.log                                56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3      55.718052
## D.npnct14.log                                55.458341
## D.npnct08.log                                55.292038
## color.fctrBlack                              55.207252
## D.npnct11.log                                55.159939
## D.npnct15.log                                54.694738
## condition.fctrSeller refurbished             54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2       54.212030
## D.npnct05.log                                53.685990
## D.ratio.sum.TfIdf.nwrds                      53.529001
## carrier.fctrSprint                           51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4       49.726710
## prdline.my.fctriPad 2                        49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2      46.524843
## D.npnct28.log                                46.354146
## cellular.fctrUnknown                         40.187677
## prdline.my.fctriPad 1                        30.878770
## condition.fctrFor parts or not working       26.631947
## storage.fctr64                               23.983863
## biddable                                     16.709485
## storage.fctr32                                8.679021
## storage.fctrUnknown                           4.194256
## storage.fctr16                                0.000000
##                                             Final.glmnet.importance
## prdline.my.fctriPadAir                                   100.000000
## condition.fctrNew                                         89.605213
## D.npnct09.log                                             83.307569
## prdline.my.fctriPadmini 2+                                78.075306
## condition.fctrNew other (see details)                     77.486529
## color.fctrGold                                            75.718418
## D.npnct10.log                                             69.483934
## carrier.fctrUnknown                                       68.783075
## D.terms.n.stem.stop.Ratio                                 68.180766
## prdline.my.fctriPadmini 2+:.clusterid.fctr2               67.502712
## prdline.my.fctrUnknown:.clusterid.fctr2                   67.410570
## D.TfIdf.sum.stem.stop.Ratio                               67.012617
## prdline.my.fctriPadmini:.clusterid.fctr5                  67.003081
## prdline.my.fctriPad 3+                                    66.678300
## D.npnct03.log                                             65.767488
## condition.fctrManufacturer refurbished                    65.196081
## cellular.fctr1                                            63.071826
## prdline.my.fctriPad 3+:.clusterid.fctr2                   63.037048
## D.npnct01.log                                             62.769601
## prdline.my.fctriPad 1:.clusterid.fctr4                    62.057198
## color.fctrWhite                                           60.273720
## color.fctrSpace Gray                                      60.150799
## prdline.my.fctriPad 3+:.clusterid.fctr4                   58.938150
## prdline.my.fctriPadmini:.clusterid.fctr2                  58.335982
## prdline.my.fctriPad 3+:.clusterid.fctr3                   57.859425
## idseq.my                                                  57.847819
## .rnorm                                                    57.838522
## D.TfIdf.sum.post.stem                                     57.838522
## D.TfIdf.sum.post.stop                                     57.838522
## D.nchrs.log                                               57.838522
## D.ndgts.log                                               57.838522
## D.npnct06.log                                             57.838522
## D.npnct12.log                                             57.838522
## D.npnct16.log                                             57.838522
## D.npnct24.log                                             57.838522
## D.nstopwrds.log                                           57.838522
## D.nuppr.log                                               57.838522
## D.nwrds.log                                               57.838522
## D.nwrds.unq.log                                           57.838522
## D.ratio.nstopwrds.nwrds                                   57.838522
## D.sum.TfIdf                                               57.838522
## D.terms.n.post.stem                                       57.838522
## D.terms.n.post.stem.log                                   57.838522
## D.terms.n.post.stop                                       57.838522
## D.terms.n.post.stop.log                                   57.838522
## carrier.fctrAT&T                                          57.838522
## carrier.fctrOther                                         57.838522
## carrier.fctrT-Mobile                                      57.838522
## prdline.my.fctrUnknown:.clusterid.fctr4                   57.838522
## prdline.my.fctrUnknown:.clusterid.fctr5                   57.838522
## prdline.my.fctriPad 1:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 1:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr3                    57.838522
## prdline.my.fctriPad 2:.clusterid.fctr5                    57.838522
## prdline.my.fctriPad 3+:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr4                   57.838522
## prdline.my.fctriPadAir:.clusterid.fctr5                   57.838522
## prdline.my.fctriPadmini                                   57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr4               57.838522
## prdline.my.fctriPadmini 2+:.clusterid.fctr5               57.838522
## prdline.my.fctriPadmini:.clusterid.fctr3                  57.838522
## prdline.my.fctriPadmini:.clusterid.fctr4                  57.838522
## carrier.fctrVerizon                                       57.820657
## prdline.my.fctriPadmini 2+:.clusterid.fctr3               57.472389
## prdline.my.fctriPadAir:.clusterid.fctr3                   57.312195
## prdline.my.fctriPad 2:.clusterid.fctr2                    56.864345
## D.npnct13.log                                             56.772512
## prdline.my.fctrUnknown:.clusterid.fctr3                   55.718052
## D.npnct14.log                                             55.458341
## D.npnct08.log                                             55.292038
## color.fctrBlack                                           55.207252
## D.npnct11.log                                             55.159939
## D.npnct15.log                                             54.694738
## condition.fctrSeller refurbished                          54.482458
## prdline.my.fctriPad 1:.clusterid.fctr2                    54.212030
## D.npnct05.log                                             53.685990
## D.ratio.sum.TfIdf.nwrds                                   53.529001
## carrier.fctrSprint                                        51.737861
## prdline.my.fctriPad 2:.clusterid.fctr4                    49.726710
## prdline.my.fctriPad 2                                     49.578069
## prdline.my.fctriPadAir:.clusterid.fctr2                   46.524843
## D.npnct28.log                                             46.354146
## cellular.fctrUnknown                                      40.187677
## prdline.my.fctriPad 1                                     30.878770
## condition.fctrFor parts or not working                    26.631947
## storage.fctr64                                            23.983863
## biddable                                                  16.709485
## storage.fctr32                                             8.679021
## storage.fctrUnknown                                        4.194256
## storage.fctr16                                             0.000000
print("glb_newobs_df prediction stats:")
## [1] "glb_newobs_df prediction stats:"
print(myplot_histogram(glb_newobs_df, paste0(glb_rsp_var_out, glb_fin_mdl_id)))
## stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this.

if (glb_is_classification)
    print(table(glb_newobs_df[, paste0(glb_rsp_var_out, glb_fin_mdl_id)]))

# players_df <- data.frame(id=c("Chavez", "Giambi", "Menechino", "Myers", "Pena"),
#                          OBP=c(0.338, 0.391, 0.369, 0.313, 0.361),
#                          SLG=c(0.540, 0.450, 0.374, 0.447, 0.500),
#                         cost=c(1400000, 1065000, 295000, 800000, 300000))
# players_df$RS.predict <- predict(glb_models_lst[[csm_mdl_id]], players_df)
# print(orderBy(~ -RS.predict, players_df))

if (length(diff <- setdiff(names(glb_trnobs_df), names(glb_allobs_df))) > 0)   
    print(diff)
for (col in setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
    # Merge or cbind ?
    glb_allobs_df[glb_allobs_df$.src == "Train", col] <- glb_trnobs_df[, col]

if (length(diff <- setdiff(names(glb_fitobs_df), names(glb_allobs_df))) > 0)   
    print(diff)
if (length(diff <- setdiff(names(glb_OOBobs_df), names(glb_allobs_df))) > 0)   
    print(diff)

for (col in setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
    # Merge or cbind ?
    glb_allobs_df[glb_allobs_df$.lcn == "OOB", col] <- glb_OOBobs_df[, col]
    
if (length(diff <- setdiff(names(glb_newobs_df), names(glb_allobs_df))) > 0)   
    print(diff)

if (glb_save_envir)
    save(glb_feats_df, glb_allobs_df, 
         #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
         glb_models_df, dsp_models_df, glb_models_lst, glb_model_type,
         glb_sel_mdl, glb_sel_mdl_id,
         glb_fin_mdl, glb_fin_mdl_id,
        file=paste0(glb_out_pfx, "prdnew_dsk.RData"))

rm(submit_df, tmp_OOBobs_df)

# tmp_replay_lst <- replay.petrisim(pn=glb_analytics_pn, 
#     replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs, 
#         "data.new.prediction")), flip_coord=TRUE)
# print(ggplot.petrinet(tmp_replay_lst[["pn"]]) + coord_flip())

glb_chunks_df <- myadd_chunk(glb_chunks_df, "display.session.info", major.inc=TRUE)
##                   label step_major step_minor     bgn     end elapsed
## 16     predict.data.new          9          0 430.935 440.288   9.353
## 17 display.session.info         10          0 440.288      NA      NA

Null Hypothesis (\(\sf{H_{0}}\)): mpg is not impacted by am_fctr.
The variance by am_fctr appears to be independent. #{r q1, cache=FALSE} # print(t.test(subset(cars_df, am_fctr == "automatic")$mpg, # subset(cars_df, am_fctr == "manual")$mpg, # var.equal=FALSE)$conf) # We reject the null hypothesis i.e. we have evidence to conclude that am_fctr impacts mpg (95% confidence). Manual transmission is better for miles per gallon versus automatic transmission.

##                      label step_major step_minor     bgn     end elapsed
## 11              fit.models          7          1 114.154 391.695 277.541
## 5         extract.features          3          0  14.715  87.760  73.046
## 12              fit.models          7          2 391.695 414.739  23.044
## 10              fit.models          7          0  97.894 114.154  16.260
## 16        predict.data.new          9          0 430.935 440.288   9.353
## 15       fit.data.training          8          1 423.554 430.935   7.381
## 13              fit.models          7          3 414.740 420.743   6.003
## 7      manage.missing.data          4          1  88.810  93.670   4.860
## 8          select.features          5          0  93.670  97.445   3.775
## 14       fit.data.training          8          0 420.743 423.553   2.811
## 1              import.data          1          0   8.739  11.506   2.768
## 2             inspect.data          2          0  11.507  13.552   2.045
## 6             cluster.data          4          0  87.761  88.809   1.048
## 3               scrub.data          2          1  13.553  14.205   0.652
## 4           transform.data          2          2  14.206  14.715   0.509
## 9  partition.data.training          6          0  97.445  97.894   0.449
##    duration
## 11  277.541
## 5    73.045
## 12   23.044
## 10   16.260
## 16    9.353
## 15    7.381
## 13    6.003
## 7     4.860
## 8     3.775
## 14    2.810
## 1     2.767
## 2     2.045
## 6     1.048
## 3     0.652
## 4     0.509
## 9     0.449
## [1] "Total Elapsed Time: 440.288 secs"

## R version 3.2.1 (2015-06-18)
## Platform: x86_64-apple-darwin13.4.0 (64-bit)
## Running under: OS X 10.10.4 (Yosemite)
## 
## locale:
## [1] C/en_US.UTF-8/C/C/C/en_US.UTF-8
## 
## attached base packages:
##  [1] tcltk     grid      parallel  stats     graphics  grDevices utils    
##  [8] datasets  methods   base     
## 
## other attached packages:
##  [1] randomForest_4.6-10 glmnet_2.0-2        arm_1.8-6          
##  [4] lme4_1.1-8          Matrix_1.2-2        MASS_7.3-43        
##  [7] rpart.plot_1.5.2    rpart_4.1-10        tidyr_0.2.0        
## [10] entropy_1.2.1       dynamicTreeCut_1.62 proxy_0.4-15       
## [13] reshape2_1.4.1      sqldf_0.4-10        RSQLite_1.0.0      
## [16] DBI_0.3.1           tm_0.6-2            NLP_0.1-8          
## [19] stringr_1.0.0       gsubfn_0.6-6        proto_0.3-10       
## [22] mgcv_1.8-7          nlme_3.1-121        dplyr_0.4.2        
## [25] plyr_1.8.3          gdata_2.17.0        doMC_1.3.3         
## [28] iterators_1.0.7     foreach_1.4.2       doBy_4.5-13        
## [31] survival_2.38-3     caret_6.0-52        ggplot2_1.0.1      
## [34] lattice_0.20-33    
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.0         gtools_3.5.0        assertthat_0.1     
##  [4] digest_0.6.8        slam_0.1-32         R6_2.1.0           
##  [7] BradleyTerry2_1.0-6 chron_2.3-47        stats4_3.2.1       
## [10] coda_0.17-1         evaluate_0.7        lazyeval_0.1.10    
## [13] minqa_1.2.4         SparseM_1.6         car_2.0-25         
## [16] nloptr_1.0.4        rmarkdown_0.7       labeling_0.3       
## [19] splines_3.2.1       munsell_0.4.2       compiler_3.2.1     
## [22] htmltools_0.2.6     nnet_7.3-10         codetools_0.2-14   
## [25] brglm_0.5-9         gtable_0.1.2        magrittr_1.5       
## [28] formatR_1.2         scales_0.2.5        stringi_0.5-5      
## [31] RColorBrewer_1.1-2  tools_3.2.1         abind_1.4-3        
## [34] pbkrtest_0.4-2      yaml_2.1.13         colorspace_1.2-6   
## [37] knitr_1.10.5        quantreg_5.11